「这是我参与2022首次更文挑战的第22天,活动详情查看:2022首次更文挑战」。
Spring Data Elasticsearch
Spring Data Elasticsearch是Spring Data项目下的一个子模块。
Spring Data的官网:projects.spring.io/spring-data…
Spring Data是为数据访问提供熟悉且一致的基于Spring的编程模型,保留底层数据存储的特殊特性。
它使得数据访问技术,关系数据库和非关系数据库,map-reduce框架和基于云的数据服务变得容易。这是一个总括项目,其中包含许多特定于给定数据库的子项目。这些令人兴奋的技术项目背后,是由许多公司和开发人员合作开发的。
Spring Data Elasticsearch是Spring Data项目的一部分,该项目旨在为新数据存储提供熟悉且一致的基于Spring的编程模型,同时保留特定于存储的功能;
Spring Data Elasticsearch项目提供了与Elasticsearch搜索引擎的集成;
Spring Data Elasticsearch的关键功能区域是一个以POJO为中心的模型,该模型用于与Elastichsearch文档进行交互并轻松编写存储库样式的数据访问层;
Spring配置支持使用基于Java的@Configuration类和ElasticsearchTemplate帮助器类,可提高执行常规ES操作的效率,包括文档和POJO之间的集成对象映射;
总结开发方式:
(1)采用elasticsearch官方提供的高级rest客户端api进行开发
elasticsearch-rest-high-level-client
(2)采用spring data elasticsearch基于jpa风格的ElasticsearchRepository进行开发
(3)采用spring data elasticsearch提供的ElasticsearchRestTemplate模板类进行开发
具体参考一下整合的样例代码;
IK中文分词
中文分词组件有很多种
IKAnalyzer:www.oschina.net/p/ikanalyze…
BosonNLP:bosonnlp.com/dev/center
NLPIR:ictclas.nlpir.org/
SCWS中文分词:www.xunsearch.com/scws/docs.p…
盘古分词:pangusegment.codeplex.com/
庖丁解牛:code.google.com/p/paoding/ (暂时打不开)
搜狗分词:www.sogou.com/labs/webser…
新浪云:www.sinacloud.com/doc/sae/pyt…
语言云:www.ltp-cloud.com/document
在这里我们选用的 IK 分词:
IK 分细粒度 ik-max-word 和粗粒度 ik_smart 两种分词方式;
IK 更新字典只需要在词典末尾添加关键词即可,支持本地和远程词典两种方式;
IK 分词插件的一直在更新,和最新版本elas保持一致,推荐使用;