91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Elasticsearch如何進行詞語擴展引入?

發布時間:2020-05-27 14:15:08 來源:億速云 閱讀:335 作者:鴿子 欄目:開發技術

進行詞語擴展引入的問題我們在此解決

首先看下效果

GET /operation/_search
{
  "query": {
    "match": {
      "store_name": "凱悅"
    }
  }
}

結果

{
  "took" : 38,
  "timed_out" : false,
  "_shards" : {
    "total" : 3,
    "successful" : 3,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 0,
      "relation" : "eq"
    },
    "max_score" : null,
    "hits" : [ ]
  }
}

此時的分詞器對凱悅二字的分詞如下

{
  "tokens" : [
    {
      "token" : "凱悅",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 0
    }
  ]
}

因為我們的索引在創建的時候凱悅詞語還沒有被擴展,所以創建索引的時候分詞器會把凱悅分成兩個字,而此時分詞器將凱悅分詞成一個詞語凱悅,故而無法搜索到任何文檔。

解決思路一:

首先想到的是重建索引,因為此時分詞器詞典中已經有了凱悅這個詞語,然后在全量復制文檔到新的索引中,如果是數據量不大的情況下是可以快速遷移,如果數據量大的話不建議這樣做,然而有些情況可能只是部分文檔與要擴展詞語相關,所以這個方法比較笨拙,不建議使用。

解決思路二:

通過Elasticsearch官方提供的API接口update_by_query可以將與凱悅相關的文檔重新分詞

具體操作如下

POST /operation/_update_by_query
{
  "query": {
    "bool": {
      "must": [
        {"term": {"store_name": "凱"}},
        {"term": {"store_name": "悅"}}
      ]
    }
  }
}

意思是必須滿足如上兩個條件的文檔才會被檢索到并進行分詞修改,即文檔名稱同時包含才被重新分詞

執行結果

{
  "took" : 240,
  "timed_out" : false,
  "total" : 4,
  "updated" : 4,
  "deleted" : 0,
  "batches" : 1,
  "version_conflicts" : 0,
  "noops" : 0,
  "retries" : {
    "bulk" : 0,
    "search" : 0
  },
  "throttled_millis" : 0,
  "requests_per_second" : -1.0,
  "throttled_until_millis" : 0,
  "failures" : [ ]
}

可以看到有四條文檔被修改

再次通過凱悅搜索此時就沒有質保含的文檔出現了

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大厂| 汉沽区| 探索| 江源县| 莲花县| 名山县| 新安县| 闽侯县| 玛纳斯县| 察哈| 台前县| 靖宇县| 汝南县| 连云港市| 晋宁县| 潜山县| 平罗县| 巴林右旗| 安陆市| 中宁县| 马关县| 崇文区| 锡林浩特市| 丹东市| 宜兴市| 吉林省| 呼伦贝尔市| 武夷山市| 洛阳市| 商水县| 邛崃市| 新干县| 西藏| 灵川县| 建昌县| 新疆| 武乡县| 阳东县| 彩票| 永康市| 寿光市|