elasticsearch springboot 实现分词搜索
实现分词搜索之前必须保证您的springboot 已经连接上了你的elasticsearch
这里展示下我的配置信息和pom文件
application.yml
spring: data: elasticsearch: ####集群名称cluster-name: elasticsearch####地址 cluster-nodes: 47.107.91.27:9300
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>com.google.collections</groupId><artifactId>google-collections</artifactId><version>1.0-rc2</version></dependency><!-- springboot整合freemarker --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency>
</dependencies>
首先创建实体类
@Document(indexName = "***", type = "***")
@Data
public class UserEntity {@Idprivate String id;private String name;private int sex;private int age;
}
@Data
是设置get set方法 插件
indexName type 设置好即可
创建对应的Dao层 记住继承的是ElasticsearchRepository 只有这个类是分词查找
@Component
public interface UserReposiory extends ElasticsearchRepository<UserEntity, String> {Iterable<UserEntity> findByNameContaining(String name);
}
@RestController
public class EsController {@Autowiredprivate UserReposiory userReposiory;@RequestMapping("/text")public List<UserEntity> search(String name,@PageableDefault(page = 0, value = 2) Pageable pageable) {// 1.创建查询对象BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();MatchQueryBuilder matchQuery = QueryBuilders.matchQuery("name", name);boolQuery.must(matchQuery);// 2.调用查询接口Iterable<UserEntity> search = userReposiory.search(boolQuery, pageable);// 3.将迭代器转换为集合return Lists.newArrayList(search);}
}
启动类
@SpringBootApplication
@EnableElasticsearchRepositories(basePackages = "com.cc.reposiory")
public class AppEs {public static void main(String[] args) {SpringApplication.run(AppEs.class, args);}
}
得到结果
可以看到 springboot 蚂蚁 被分为2个关键词 一个是springboot 一个是蚂蚁(使用ki分词器,如果是默认的分词器,中文会每个字都会作为一个分词)
springboot陈晨因为 springboot 关键词而搜出来了
elasticsearch springboot 实现分词搜索相关推荐
- 一行命令让ElasticSearch支持中文分词搜索
相信大家在开发博客,在线商城的时候会涉及到搜索功能.而近几年火起来的 ElasticSearch(ES)凭借其稳定.可靠.快速的实时搜索普遍受到大家的好评,连 Github.SoundCloud 也都 ...
- elasticsearch 利用ik分词搜索
1.不使用ik分词的情况 map "article": {"properties": {"author": {"store&quo ...
- springboot+springdata+elasticsearch+logstash+拼音分词实现全文搜索
elasticsearch安装 下载地址:https://www.elastic.co/downloads/elasticsearch 解压到d盘software目录下 CMD下:cd D:\soft ...
- Laravel5.4中文分词搜索-使用 Laravel Scout,Elasticsearch,ik 分词(三)
上一篇地址:https://blog.csdn.net/huangfenhu/article/details/94009241 创建一个文章表和文章模型: php artisan make:model ...
- Laravel5.4中文分词搜索-使用 Laravel Scout,Elasticsearch,ik 分词(一)
elasticsearch需要的环境搭建 简介: 使用elasticsearch的前提是你的主机必须安装了java的JDK,而且版本必须是1.8以上,并设置JAVA_HOME环境变量 java的jdk ...
- [Spring Boot]12 ElasticSearch实现分词搜索功能
目录 一.前言 二.搜索功能的需求 三.需求开发 1.服务器安装ElasticSearch和IK分词器 2.需求开发 1)pom.xml引入jar包: 2)yml增加配置 3)配置类Elasticse ...
- ElasticSearch(十一)Java用ElasticSearch 利用搜索词分词搜索
需求: 搜索词进行分词搜索 例如: 搜索词为"意大利医生", 那么拆分匹配内容包含"意大利医生"或"意大利"或"医生" ...
- ElasticSearch,docker 安装ElasticSearch,Springboot 使用 ElasticSearch JavaAPI
什么是 ElasticSearch ? 数据库查询存在的问题: 性能低:使用模糊查询,左边有通配符,不会走索引,会全表扫描,性能低 关键字模糊查询比较麻烦 ElasticSearch概念 • Elas ...
- 04.ElasticSearch之IK分词器的安装与使用
ElasticSearch之IK分词器的安装与使用 前言 安装 离线安装 在线安装 ik分词器测试 扩展(停用)词(典) 测试数据 概念 配置词典 1.修改配置文件 2.新建词典 3.自定义内容 4. ...
最新文章
- 现学现卖微信小程序开发(二)
- makefile中的零星知识点
- 数据库元数据数据字典查询_2_列出所有的数据库
- 中小型研发团队架构实践三要点(转自原携程架构师张辉清)
- 浅谈java的静态代理模式
- 代码美化网站,让你的代码别具一格
- sucks倒计时插件笔记
- lubuntu输入法设置_Ubuntu 设置中文输入法
- 万王之王显示服务器尚未对外开放,《万王之王3》公测5月26日火爆开启 姚星彤性感代言...
- 上海公积金网上提取_为什么提取上海公积金租房这么简单?
- 使用Jsp+Servlet的wlop官网(验证码登录+session自动登陆)
- 编码原则总结:面向对象设计的SOLID原则
- PHP高性能编程-提高PHP速度-加速PHP执行-PHP性能优化实践
- 【踩坑记录】Gazebo启动慢,画面卡“Preparing your world”
- Unsupervised Question Answering by Cloze Translation
- selenium webdriver使用
- “Whitelabel Error Page“解决方法
- FFMPEG保存H264流到AVI文件中形成录像
- 在vue3中使用jsx语法
- swi prolog 和java_制作适用于GNU和SWI的Prolog代码
热门文章
- 负载均衡_Maglev
- 地理空间数据共享资源大汇总
- 2021计组和微计-背下来就能拿分的知识总结
- 云服务器网站直接域名登录,[一叶花开]网站搭建-天翼云服务器跳过备案实现可直接访问IP地址以及解析域名...
- 在虚拟机中安装mysql数据库
- windows如何配置mysql的环境变量
- 穿越存在吗?诺奖得主基普·S·索恩:人类穿梭时间可能摧毁自己
- TextBox 单行文本框,多行文本框
- 视觉导航路径编辑器使用教程
- zsh: command not found: conda