Elasticsearch入门

什么是Elasticsearch

  由于Mysql的like搜索会导致索引失效,Elasticsearch是一个搜索引擎框架,也是一个Nosql数据库

Elasticsearch解决了

  Mysql海量数据搜索效率过低

  Mysql全文检索效率过低

ES的工作原理: 倒排索引

   对于存放的数据,以一定的方式进行分词,并将分词的内容存到一个  单独  的分词库中,

  当用户去查询数据时,将查询的关键词同样进行分词

  然后两者相互匹配 ,如果匹配成功得到数据的 id (创建数据时定义)

  最后根据数据id找到数据

Java操作ES

  导入相关依赖

  配置ES服务器位置

ES实体类注解

  @Document(定义索引和type)

  类

  @Field(       analyzer(所有操作的分词器)="ik_smart"  , SearchAnalyzer(查询时优先使用的分词器)=  "ik_smart"          )

     searchAnalyzer="whitespace"  //查询不分词

     

  字段

ES两种常用分词库 

  ik_smart:常用于标题的分词,分词数较少

  ik_max_word:常用于内容的分词,分词数较多

  除了这两种,还可以在ik配置文件自定义分词

  这三种都需要导入 ik 分词插件

分页查询:使用Pageable对象

原文地址:https://www.cnblogs.com/javarook/p/13629145.html