基于elasticSearch实现自动补全 基于 RestHighLevelClient

本文介绍了如何使用Elasticsearch的RestHighLevelClient来实现自动补全功能,选择了completion suggester作为实现方法。通过创建索引并配置专用字段,结合Java客户端插入数据,详细阐述了整体流程,包括建立连接、配置bean、添加数据和执行多条件搜索。由于现有资料可能过时,本文旨在记录作者的理解和最新实践。
摘要由CSDN通过智能技术生成

基于elasticSearch实现自动补全 基于 RestHighLevelClient

基于elasticSearch实现自动补全
为什么要用es来实现?

因为能共用一个搜索服务,并且稳定,能利用已有的分词器。

有多少种实现方法?本文用的是哪一种?

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html

本文用的completion suggester 来实现的。

已经有那么多文章了,为何还要写?

很多文章没有及时更新
记录自己的理解
整体流程
添加索引,并单独写一个字节点用来实现自动补全,并设置类型为completion

 {
        "mappings": {
            "properties": {
                "fileName": {
                    "type": "text",
                    "analyzer": "ik_max_word",
                    "fields": {
                        "suggest": {
                            "type": "completion",
                            "analyzer": "ik_max_word"
                        }
                    }
                },
                "path": {
                    "type": "keyword",
                    "index": false
                }
            }
        }
    }

插入数据

POST /search_index/_doc
{
    "fileName":"四川成都市龙泉驿生态环境局龙泉驿区3D气溶胶雷达监控采购项目的中标公告"
}
POST /search_index/_doc
{
    "fileName":"气溶胶雷达租赁服务报价清单"
}
POST /search_index/_doc
{
    "fileName":"四川省遂宁市安居生态环境局臭氧
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值