首页 > 其他分享 >ES--自动补全查询

ES--自动补全查询

时间:2024-01-17 18:45:08浏览次数:26  
标签:completion 补全 title -- 查询 test POST ES

elasticsearch提供了Completion Suggester查询来实现自动补全功能。这个查询会匹配以用户输入内容开头的词条并返回。为了提高补全查询的效率,对于文档中字段的类型有一些约束:

  • 参与补全查询的字段必须是completion类型。

  • 字段的内容一般是用来补全的多个词条形成的数组。

比如,一个这样的索引库:

// 创建索引库
PUT test
{
  "mappings": {
    "properties": {
      "title":{
        "type": "completion"
      }
    }
  }
}

然后插入下面的数据:

// 示例数据
POST test/_doc
{
  "title": ["Sony", "WH-1000XM3"]
}
POST test/_doc
{
  "title": ["SK-II", "PITERA"]
}
POST test/_doc
{
  "title": ["Nintendo", "switch"]
}

 

查询的DSL语句如下:

// 自动补全查询
GET /test/_search
{
  "suggest": {
    "title_suggest": {
      "text": "s", // 关键字
      "completion": {
        "field": "title", // 补全查询的字段
        "skip_duplicates": true, // 跳过重复的
        "size": 10 // 获取前10条结果
      }
    }
  }
}
 

 

 

标签:completion,补全,title,--,查询,test,POST,ES
From: https://www.cnblogs.com/daitu66/p/17970729

相关文章

  • springMvc如何解决请求中文乱码问题
    方式一:解决get请求中文乱码问题  每次请求前用encode对url进行编码方式二:在应用服务器上配置URL编码格式,在tomcat配置文件server.xml增加encodeURL编码格式,然后重启解决post请求方式一:使用spring提供的编码过器 在web.xml文件配置编码过lu器,增加一下配置: <web-ap......
  • TCP 拥塞控制对数据延迟的影响
    哈喽大家好,我是咸鱼今天分享一篇文章,是关于TCP拥塞控制对数据延迟产生的影响的。作者在服务延迟变高之后进行抓包分析,结果发现时间花在了TCP本身的机制上面:客户端并不是将请求一股脑发送给服务端,而是只发送了一部分,等到接收到服务端的ACK,然后继续再发送,这就造成了额外的RTT......
  • 帆软添加行序号
    序号设置如下图所示,在D2单元格中,输入公式 =seq(),左父格设置为B2,即可显示行序号。注:若数据是列表显示,也可以使用=&B2进行统一编号。若序号在最左侧,那么将seq()这列的左父格设置为右侧的单元格,右侧这个单元格的左父格设置成无即可,比如此处如果设置成地区,那么将地区的左父格......
  • arr
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceAlgorithm{internalclassMyList{privateint[]arr;privateintarrCapacity=10;privateint......
  • LinkedHashMao & LinkedHashSet源码阅读
    目录简介模型代码分析成员变量方法补充-LinkedHashSet总结参考链接本人的源码阅读主要聚焦于类的使用场景,一般只在java层面进行分析,没有深入到一些native方法的实现。并且由于知识储备不完整,很可能出现疏漏甚至是谬误,欢迎指出共同学习本文基于corretto-17.0.9源码,参考本文时......
  • forEach控制器怎么用
    最近,Apipost对自动化测试进行了优化,新增foreach控制器。这个新功能的引入为自动化测试带来了更高的效率和灵活性。本文将介绍Apipost的foreach控制器,解释其用途和优势,帮助您更好地利用这一功能提升自己的测试工作。什么是foreach控制器?Foreach控制器允许您在测试用例中迭代执行......
  • net6 webapi swagger 中文\版本说明
    1、新建ApiVersionInfo.cs版本文件;///<summary>///API版本///</summary>publicclassApiVersionInfo{publicstaticstring接口版本1;}右键编辑项目文件;<PropertyGroup><GenerateDocumentationFile>true</GenerateDocumentationFile>......
  • 18.接口鉴权的多种情况与 解决方案
    接口鉴权是什么 身份认证接口鉴权通用的解决方案 认证信息的获取认证信息的携带@startumlscale800if(登录成功?)then#pink:响应错误;detachendif#palegreen:响应认证信息;#palegreen:携带认证信息发起其他请求;@enduml后端接口鉴权常用......
  • AtCoder ABC 279 复盘
    AwwwvvvvvvACCodeBLOOKUPACCodeCRANDOMACCodeDFreefall分析一下样例1,可以发现答案存在一个\(\sqrt{g}\),然后就联想到三分。这里图像是开口朝上的。注意要开longlong!(但我的代码需要__int128才行,玄学)ACCodeECheatingAmidakuji分析过程,可以发现第\(i\)次......
  • archlinux xfce 出现[FAILED] Failed to mount /boot, systemctl status boot.mount出
    开机显示:[FAILED]Failedtomount/boot使用命令systemctlstatusboot.mount后出现mount:/boot:unknownfilesystemtype'vfat':pacman-Qilinux显示安装了6.7.arch3-1版本的内核而uname-a显示6.6.10-arch1-1版本的内核我的环境是archxfce+windows8.1个人原因......