1. 程式人生 > >ElasticSearch-6.4.1安裝中文分詞器Analysis-ik.

ElasticSearch-6.4.1安裝中文分詞器Analysis-ik.

一:使用背景和安裝過程.

        1. ElasticSearch-6.4.1.(Windows環境下)

           ElasticSearch預設的分詞器對中文分詞器支援不好,下面安裝中文分詞器.Linux下是一樣的安裝方式就是wget+url然後新建目錄,解壓到指定的目錄下,然後重啟ES即可.

        2. 中文分詞器IKAnalyzer下載.

           analysis-ik

        3. 來到ElasticSearch的安裝目錄.

           新建目錄:ik

      

           4. 將剛才下載的IK解壓到ik目錄下.

          

            5. 啟動ElasticSearch.(觀察一下啟動日誌).

                    

              
         

              6. 啟動head外掛.

                   

              7. 測試IK分詞器.(PostMan下測試)

                 7.1 一個刪除ES索引的測試.(自己測試的,與本文無關).            

                7.2 IK分詞效果有兩種,一種是ik_max_word(最大分詞)和ik_smart(最小分詞)

                現在的分詞文字是:中華人名共和國港珠澳大橋建成通車.

             8.  REST API 使用AK分詞器.

                8.1 測試最大分詞效果.

 

             8.2 測試最小分詞效果.

二. JAVA API使用AK分詞器.

       2.1 首先新建一個索引.

        

      2.2  Java API使用分詞器.

             首先是獲取TransportClient物件. 注入靜態方法中注意初始化的方式.

            使用標準分詞器.

public class ElasticApplication {
    private static TransportClient client;
    @Autowired
    public void setClient(TransportClient client){
        ElasticApplication.client=client;
    }

	public static void main(String[] args) {
		SpringApplication.run(ElasticApplication.class, args);
        // 獲取分詞器.
        AnalyzeRequest analyzeRequest = new AnalyzeRequest("test")
                .text("中華人民共和國港珠澳大橋建成通車")
                .analyzer("standard");
        List<AnalyzeResponse.AnalyzeToken> tokens = client.admin().indices()
                .analyze(analyzeRequest)
                .actionGet()
                .getTokens();
        for (AnalyzeResponse.AnalyzeToken token : tokens) {
            System.out.print(token.getTerm()+" ");
        }
	}
}

           執行結果:

             使用最大分詞器.

          執行結果:

       使用最小分詞器. 

       執行結果:

可以對比最小分詞效果沒有最大的分詞效果好一些.