搭建自己的搜索引擎之五

一、前言

接上文 搭建自己的搜索引擎之四,下面继续介绍茴香豆茴字的另外两种写法。

二、Jest

Jest是ES的Java Http Rest客户端,它主要是为了弥补以前ES自有API缺少HttpRest接口客户端的不足,但因为现在ES官方已经提供了RestClient ,该项目已经不怎么维护了。

1、构建JestClient

2、创建索引

3、简单搜索

三、Spring Data Elasticsearch

前面介绍的几种方法中,TransportClient、Jest新版本里都不建议再去使用,官方提供的RestClient API相对来讲学习成本有点高,而Spring Data Elasticsearche 因为有着与其它Spring Data成员通用的接口,相对来讲更简单。

注:我们项目中现在使用的是RestClient.

1、Spring Data

Spring Data是Spring一个子项目,主要是为了简化数据库的访问,它支持NoSQL和关系数据库的访问,它的核心概念是一个Repository接口.

注:下次整理一篇Spring Data各种数据库访问介绍。

2、Spring Data Elasticsearch

Spring Data EasticSearch 当前最新版本是4.3,在4.0的时候就废弃了对接ES的TransportClient模块,现在对应的应该是RestClient(待确认)。

3、加入依赖

4、application.yml配置连接

注:ES默认安装访问不需要授权下次会整理关于授权配置。

5、定义实体类

注:主要就是Spring-data-Es提供的注解@Document、@Field等定义。

6、定义Repository接口

注:Respository默认提供了基本的增删改查接口,如果需要扩展按规范定义接口即可,所有data接口都是统一的规范。

7、创建索引和查询

注:四种API使用Spring-Data-ES相对来讲是最简单的,简单的东西才是最好的,想起了觉醒年代里陈独秀、胡适等人提倡的白话文。

相关推荐
三天不学习17 小时前
JiebaAnalyzer 分词模式详解【搜索引擎系列教程】
前端·搜索引擎·jiebaanalyzer
三天不学习18 小时前
Lucene.Net FSDirectory 和 RAMDirectory 的区别和用法 【搜索引擎系列教程】
搜索引擎·.net·lucene
LuckyRich11 天前
【boost搜索引擎】下
开发语言·c++·搜索引擎
白雪讲堂1 天前
AI搜索品牌曝光资料包(精准适配文心一言/Kimi/DeepSeek等场景)
大数据·人工智能·搜索引擎·ai·文心一言·deepseek
DavidSoCool2 天前
es分页边界数据重复问题处理
大数据·elasticsearch·搜索引擎
GOTXX3 天前
BoostSiteSeeker项目实战
前端·c++·后端·mysql·搜索引擎·项目实战·boost
mooyuan天天3 天前
黑帽SEO之搜索引擎劫持-域名劫持原理分析
搜索引擎·seo搜索引擎劫持·seo域名劫持
yangmf20404 天前
私有知识库 Coco AI 实战(一):Linux 平台部署
大数据·linux·运维·人工智能·elasticsearch·搜索引擎·全文检索
Elastic 中国社区官方博客4 天前
Elasticsearch:理解政府中的人工智能 - 应用、使用案例和实施
大数据·人工智能·elasticsearch·机器学习·搜索引擎·ai·全文检索
LaughingZhu4 天前
PH热榜 | 2025-03-30
前端·数据库·人工智能·经验分享·mysql·搜索引擎·产品运营