es基于completion suggest实现搜索提示

本文介绍了如何在Elasticsearch(ES)中利用Completion Suggester实现搜索提示功能。通过自定义索引和配置IK中文分词器,以及了解Completion Suggester的高性能数据结构,可以在内存中快速完成前缀搜索,提供高效的搜索提示。示例展示了如何插入数据并查询以‘大话西游’开头的文档,帮助读者理解这一实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在之前的某一篇中,我们使用了es的前缀搜索,获得了文档根据前缀进行匹配的效果,如下图所示,
在这里插入图片描述

下面说说在es中的另一种实现搜索提示的功能,基于completion suggest 进行实现,其在实际应用中搜索性能更加高效,

假如文档库里有一堆关于大话西游的,比如,“大话西游电影”,“大话西游小说”,"大话西游舞台剧"等,这里我们需要搜索以"大话西游"开头的文档,

1、自定义index,及字段分词属性,这里用IK中文分词器,

PUT /news_website
{
  "mappings": {
    "news" : {
      "properties" : {
        "title" : {
          "type": "text",
          "analyzer": "ik_max_word",
          "fields": {
            "suggest" : {
              "type" : "completion",
              "analyzer": "ik_max_word"
            }
          }
        },
        "content": {
          "type": "text",
          "analyzer": "ik_max_word"
        }
      }
    }
  }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码农叔叔

谢谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值