溫馨提示×

溫馨提示×

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

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

怎么安裝elasticsearch中文分詞插件Synonym-Analysis

發(fā)布時間:2021-11-15 11:01:53 來源:億速云 閱讀:467 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“怎么安裝elasticsearch中文分詞插件Synonym-Analysis”,在日常操作中,相信很多人在怎么安裝elasticsearch中文分詞插件Synonym-Analysis問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么安裝elasticsearch中文分詞插件Synonym-Analysis”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

elasticsearch 版本 7.3

安裝同義詞插件

插件對應(yīng)的版本需要和elasticsearch的版本一致

插件下載地址

https://github.com/bells/elasticsearch-analysis-dynamic-synonym

安裝步驟如下:

  1. 在elasticsearch-7.3.0/plugins目錄下新建 analysis-dynamic-synonym文件夾

  2. 如果是最新版master需要使用maven編譯后將jar放入剛剛建好的文件夾中,如果是其他已經(jīng)編譯好的版本直接復(fù)制放入即可,本例需要編譯的版本

  3. 同時加入plugin-descriptor.properties 和 plugin-security.policy,內(nèi)容詳見下文

  4. 重啟集群

遠程同義詞庫同樣是根據(jù)http header 中的 Last-Modified 和 ETag 判斷是否需要更新,具體可以參考我的另一篇博客方法是一樣的elasticsearch 中文分詞插件IK-Analyze

編譯后僅得到一個jar包,其實elasticsearch安裝插件還需要配置文件plugin-descriptor.properties,沒有此文件會報錯,文件內(nèi)容如下

description=Analysis-plugin for synonym

version=5.1.1

name=analysis-dynamic-synonym

classname=com.bellszhu.elasticsearch.plugin.DynamicSynonymPlugin

java.version=1.8

elasticsearch.version=7.3.0

還需要放入配置文件 plugin-security.policy

grant {
  // needed because of the hot reload functionality
  permission java.net.SocketPermission "*", "connect,resolve";
};

如果elasticsearch報錯提示

failed to get synonyms : http://10.0.11.1:10002/elasticsearch/synonymDict
access denied ("java.net.SocketPermission" "10.0.11.1:10002" "connect,resolve")

原因是缺少plugin-security.policy文件

commons httpclient 這些jar可以下載一個低版本的插件從中獲取

插件所有文件如下:

怎么安裝elasticsearch中文分詞插件Synonym-Analysis

測試同義詞插件

創(chuàng)建一個索引,指定遠程同義詞庫

PUT /full_text_test123
{
  "settings": {
    "index": {
      "analysis": {
        "analyzer": {
          "ik_syno_smart": {
            "tokenizer": "ik_max_word",
            "type": "custom",
            "filter": [
              "remote_synonym"
            ]
          }
        },
        "filter": {
          "remote_synonym": {
            "type": "dynamic_synonym",
            "synonyms_path": "http://10.0.11.1:10002/elasticsearch/synonymDict",
            "interval": 30
          }
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "content": {
        "type": "text",
        "analyzer": "ik_syno_smart",
        "search_analyzer": "ik_smart"
      }
    }
  }
}

添加同義詞

怎么安裝elasticsearch中文分詞插件Synonym-Analysis

執(zhí)行解析器

POST /full_text_test123/_analyze
{
  "text": ["西紅柿"],
  "analyzer": "ik_syno_smart"
}

結(jié)果

{
  "tokens" : [
    {
      "token" : "西紅柿",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "番茄",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "SYNONYM",
      "position" : 0
    }
  ]
}

到此,關(guān)于“怎么安裝elasticsearch中文分詞插件Synonym-Analysis”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI