搭建自己的搜索引擎之四

这篇具有很好参考价值的文章主要介绍了搭建自己的搜索引擎之四。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

搭建自己的搜索引擎之三 介绍了通过HTTP RESTful 对ES进行增删改查,这一般手工运维ES时使用,程序代码中最好还是使用Java API去操作ES会更容易维护,但ES API竟然贼多,本篇介绍一下 四种 API及其简单使用。

注:有点类似于孔乙己说茴字的四种写法。

二、TransportClient

TransportClient在7.X版本已经不建议使用,在8.X版本以后将彻底废弃,它内部基于Transprot TCP连接到ES集群,它将自己做为集群一个节点,性能较好但版本必须与集群版本一致,spring-data-elasticsearch也是基于该Client。

搭建自己的搜索引擎之四,存储,搜索引擎

三、RestClient

使用HTTP REST风格交互,客户端发送请求到ES的任何节点,节点会通过transport接口将请求路由到其他节点,完成数据处理后汇总并返回客户端,客户端负载低,它又有两套API。

1、低级REST客户端

低级 REST 客户端在内部使用 Apache Http Async 客户端 来发送 http 请求.

搭建自己的搜索引擎之四,存储,搜索引擎

添加了依赖后会自动引入httpasyncclient、httpcore-nio、httpclient、httpcore这些包。

初始化RestClient配置

搭建自己的搜索引擎之四,存储,搜索引擎

请求和响应,对搭建自己的搜索引擎之三  创建的索引数据进行查询

搭建自己的搜索引擎之四,存储,搜索引擎

注:这种查询语法直接是很难写正确的,有一个小技巧,你可以用ElasticSearch-Head界面操作然后查看浏览器Network发出请求的PayLoad复制过来即可,它的增删改都与直接使用RestFul操作语法一样,只不过RestClient包装了Http请求响应的处理。

异步请求  

搭建自己的搜索引擎之四,存储,搜索引擎

2、高级REST客户端

低版本的RestClient很难使用,所以在6.0版本以后推出了Java High Level REST Client,提供更方便构建请求参数的方法,而不是直接写一堆JSON串。

搭建自己的搜索引擎之四,存储,搜索引擎

注:elasticsearch-rest-client、elasticsearch需要手工引入,不然会有版本冲突。

初始化,RestHighLevelClient依赖于低级客户端来构建。

搭建自己的搜索引擎之四,存储,搜索引擎

简单查询例子

搭建自己的搜索引擎之四,存储,搜索引擎

另外 JavaRestClient和Spring Data EleasticSearch  的写法下一篇再介绍。文章来源地址https://www.toymoban.com/news/detail-714087.html

到了这里,关于搭建自己的搜索引擎之四的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 搭建自己的搜索引擎——oh-my-search使用

    使用elasticsearch和search-ui搭建自己的搜索引擎,快速查找资源和文件。如果对代码感兴趣,相关代码已在github上开源,欢迎fork代码。 先搭建eleasticsearch再搭建kibana 搭建elasticsearch 编辑docker-compose.yml文件,内容如下: 其中./es/config/elasticsearch.yml的内容如下,可按需修改: 启动

    2024年02月08日
    浏览(41)
  • 分享个自己开发的夸克网盘资源搜索引擎

    https://www.cuppaso.com/ 框架使用了 spring boot 全家桶 2.7.1版本 mybatis plus 最新版本3.5.1 es搜索引擎 版本的话是 elasticsearch-7.17.4-windows-x86_64

    2024年02月12日
    浏览(49)
  • 如何让搜索引擎搜索到自己的个人博客网站(如何提交网站到各搜索引擎,如百度、必应Bing,以及提交页面URL的地址)

    之前我写了很多关于 GitHub Pages 和 Jekyll 如何搭建个人博客的博客,但是我忘了这样别人是看不到的。 一个网页能被别人看到的方式有几种: 点开分享的 URL; 点开搜索结果中的链接; … 第一种方法相当古早了,虽然现在还在用,但是在扩大读者/用户数量这方面效率太低了

    2024年02月05日
    浏览(71)
  • jieba 加whooh 构建自己本地数据库的搜索引擎

    例子 实战

    2024年02月10日
    浏览(41)
  • 阿里云盘太小啦,所以自己动手写了一个阿里云盘的搜索引擎

    是不是还在为阿里云盘空间太小而烦恼! 好东西太多,奈何就这么点空间,存不下所有东西,何解? 阿里云盘空间不足的问题也让我头疼,虽然有一些免费的阿里云盘的搜索引擎,但那不是我的! 终于决定了,自己编写一个阿里云盘搜索引擎服务! 先看一下成品图: 如果

    2024年02月13日
    浏览(60)
  • 用了这个新一代 AI 搜索引擎,我感觉自己不会被裁了

    大家好,我是木川 一般遇到问题,都会上百度、Google 等网站找答案,最近发现一个牛逼的搜索引擎网站 Devv.ai,使用 AI 做的,非常适合程序员,排查技术相关问题 Devv.ai 是一款新一代的人工智能搜索引擎,专为程序员设计。该网站的目标是提供更快速、准确的编程解决方案

    2024年02月20日
    浏览(52)
  • ES数据存储搜索引擎入门到整合Springboot一章直达

    前言 学习一门语言,我们从熟悉其语法开始,慢慢深入动手实践,并开始将其使用到对应的场景上,当我们遇到相应的问题,能够联想到使用该技术,并能够信手拈来的时候,才是我们真正掌握了一门技术或者语言的时候。学习的时候可以和其他学过的知识点相关联,如ES可

    2024年02月02日
    浏览(43)
  • docker项目-搭建个人搜索引擎SearXNG

    SearXNG是一个免费的互联网元搜索引擎,它汇总了来自更多 超过 70 个搜索服务。 文档地址:https://docs.searxng.org/ github地址:https://github.com/searxng/searxng Dokcer仓库:https://github.com/searxng/searxng-docker 演示Dome:https://searx.space/# Vps:一台,建议国外vps 系统:任意linux发行版,本文采用

    2024年01月16日
    浏览(40)
  • 超强文档搜索引擎AnyTXT Searcher本地搭建

    你是否遇到过这种情况,异地办公或者不在公司,想找到一篇课件或者想找到某个文件,你只记得资料文件或者课件里的某一句话,却不记得它的名字,你花了大量的时间,大量的精力,却怎么也找不到这个文件在哪个地方,看完本篇文章,希望能解决你的这个问题!Any TX

    2024年01月17日
    浏览(34)
  • ElasticSearch搜索引擎:常用的存储mapping配置项 与 doc_values详细介绍

    ES底层使用 Lucene 存储数据,Lucene 的索引包含以下部分: A Lucene index is made of several components: an inverted index, a bkd tree, a column store (doc values), a document store (stored fields) and term vectors, and these components can communicate thanks to these doc ids. 其中: inverted index:倒排索引。 bkd tree: Block k-d tre

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包