ES 中默认配置 IK 后,通过 Rest HTTP 的方式我们可以进行得到分词结果。那么在 Spring Boot 和提供的客户端依赖 spring-data-elasticsearch 中如何获取到分词结果。

加入依赖 pom.xml

org.springframework.boot

spring-boot-starter-data-elasticsearch

 

在 application.properties 配置 ES 的地址:

 

然后创建一个方法,入参是搜索词,返回的是分词结果列表。

indexName 这里是指在 ES 设置的索引名称。

从容器注入的 ElasticsearchTemplate Bean 中获取 Client ,再通过 AnalyzeRequestBuilder 分析请求类型中进行分词并获取分词结果 AnalyzeResponse.AnalyzeToken 列表。

四、小结

默认配置了 IK 分词器,则 DSL 去 ES 查询时会自动调用 IK 分词。

如果想要自定义词库,比如比较偏的领域性。可以参考 Elasticsearch-analysis-ik GiHub 地址去具体查阅。

 

转发自--------------http://www.flammulina.com/2017/12/21/elasticsearch-%E8%8E%B7%E5%8F%96%E5%88%86%E8%AF%8D%E7%BB%93%E6%9E%9C/