搭建自己的搜索引擎之五

news/2024/12/23 5:43:36/

一、前言

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

 二、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相对来讲是最简单的,简单的东西才是最好的,想起了觉醒年代里陈独秀、胡适等人提倡的白话文。


http://www.ppmy.cn/news/1130325.html

相关文章

uni跳转页面不缓存上一个页面的方法

一、前言 要实现一个需求,从a页面跳转到b页面,从b页面跳转到c页面,然后按返回,从c页面直接返回a页面(不返回b页面) a->b->c c->a 二、实现方法 前端框架使用的是uni-app,我们修改…

gateway之过滤器(Filter)详解

文章目录 什么是过滤器过滤器的种类局部过滤器代码示例全局过滤器代码示例 总结 什么是过滤器 在Spring Cloud中,过滤器(Filter)是一种关键的组件,用于在微服务架构中处理和转换传入请求以及传出响应。过滤器位于服务网关或代理中…

在Android studio高版本上使用低版本的Github项目库报错未能解析:Landroid/support/v4/app/FrageActivity;

我在我的项目中有一个导包: // 基础依赖包,必须要依赖 沉浸式狀態欄 implementation com.gyf.immersionbar:immersionbar:3.0.0 但是我的as版本比较高,我使用这个导包里面的方法会直接报错: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/suppor…

Android中 dma-buf 和 ION

https://www.jianshu.com/p/c829b974e557 https://blog.csdn.net/hexiaolong2009/article/details/102596744 dma-buf 最初的原型为 shrbuf,由 Marek Szyprowski (Samsung)于2011年8月2日首次提出,他实现了 “Buffer Sharing” 的概念验证(Proof-of-Concept),并在三星平…

面试经典算法1:DFS

一、前言 1、题目描述和代码仅供参考,如果有问题欢迎指出 2、解题代码采用acm模式(自己处理输入输出),不采用核心代码模式(只编程核心函数) 3、解题代码采用C语言(ai一键翻译任意语言&#xff…

STL标准模板库

Standard Library 标准库 Standard Template Library 标准模板库 1. 容器 containers 2. 迭代器 iterators 3. 算法 algorithms 4. 函数器 functional 0.1 函数模板、类模板 与 * 乘法运算符 重载 #include<iostream> // 函数模板 template<typename T> T s…

模板与泛型编程-函数模板

本专栏由于缺少函数模板专题,我本以为这个不用讲解,但由于某些同学基础比较薄弱,特地在此补充一下。 函数模板的定义一般都在头文件中。 一、如何定义一个模板函数 下面是一个求和函数 template<typename T,typename U> auto Add(T a, U b) {return a + b; }int

Linux常见指令2

Linux常见指令[2] 一.Linux常见指令1.man补充知识:nano 2.cp3.mv4.cat补充知识:echo输出重定向追加重定向回到catcat其他用法 5.less和more补充内容回到less 6.head和tail补充知识:命令行管道 一.Linux常见指令 前言:为了方便我们在Linux中写指令 介绍一下: 1.clear指令: 清屏…