Elasticsearch Suggesters 自动补全长度设置

news2024/11/25 12:32:58

问题:在用户输入之后联想词返回长度默认为50,导致返回结果不完全

image-20240909104224547

原因:completion 字段索引时允许存储的文本长度受 max_input_length 参数控制(默认为 50 字符)。可以在 mapping 中调整这个值

解决:“max_input_length”: 100,不仅可以实现返回数据长度100,同时也可以在用户输入100字以内的检索词进行联想

"title": {
      "analyzer": "standard",
      "type": "text",
      "copy_to": "info",
      "fields": {
        "suggest": {
          "type": "completion",
          "max_input_length": 100
        },
        "raw": {
          "type": "keyword",
          "ignore_above": 8190
        },
        "sort": {
          "ignore_above": 8190,
          "type": "keyword",
          "normalizer": "sort_normalizer"
        }
      }
    }

image-20240909111216065

官网参考:[Suggesters | Elasticsearch Guide 8.15] | Elastic
官网翻译:
Completion Suggester
Completion Suggester 提供自动补全/即时搜索功能。这是一种导航特性,旨在引导用户找到相关结果,从而提高搜索精度。它并不是用于拼写校正或 “你是不是想找” 功能(类似于 term 或 phrase suggesters)。

理想情况下,自动补全功能的响应速度应该跟上用户的输入速度,从而即时提供与用户已输入内容相关的反馈。因此,Completion Suggester 进行了速度优化。该建议器使用的数据结构支持快速查找,但这些结构的构建成本较高,并且存储在内存中。

映射
要使用 Completion Suggester,需将用于生成建议的字段映射为 completion 类型。这会将字段值索引为快速补全。

PUT /music
{
  "mappings": {
    "properties": {
      "suggest": {
        "type": "completion"
      }
    }
  }
}

Completion 字段的参数
Completion 字段接受以下参数:

  • analyzer
    用于索引时的分析器,默认值为 simple
  • search_analyzer
    用于搜索时的分析器,默认值为 analyzer 的值。
  • preserve_separators
    是否保留分隔符,默认值为 true。如果禁用此选项,若建议词为 “Foo Fighters”,输入 foof 时也能找到它。
  • preserve_position_increments
    是否启用位置增量,默认值为 true。如果禁用并且使用停用词分析器,输入 b 时也可能找到以 “The Beatles” 开头的字段。注意:如果可以丰富数据,也可以通过索引 “Beatles” 和 “The Beatles” 两个输入实现类似效果,而无需更改简单分析器。
  • max_input_length
    限制单个输入的长度,默认值为 50 个 UTF-16 编码点。该限制仅在索引时使用,目的是减少每个输入字符串的字符总数,从而防止大规模输入导致基础数据结构膨胀。大多数使用场景不会受此默认值影响,因为前缀补全通常不会超过几个字符的长度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2118101.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【西电电装实习】焊接台组、焊接技巧

前言 工训中心 - 电装实习,进行实操的笔记 --- 一、焊台 二、焊枪大功率的握法(反握法) 三、余锡擦拭 四、pcb板与焊盘 五、焊接技巧 先加热焊盘,再上锡(不能不加热焊盘,让锡往下漏)上锡的时…

首届世界风筝创意大赛专家委员会成立 艺术大咖共话“风筝文化”

9月6日上午,世界风筝公园首届世界风筝创意大赛专家委员会成立暨座谈会在世界风筝公园召开。来自清华大学、中央音乐学院、中国美术学院等院校的专家学者及国际知名艺术家、设计师齐聚一堂,共同成立大赛专家委员会,并探讨以风筝为主题的艺术创…

简单的springboot log4j2日志配置

简单的springboot log4j2日志配置 1.简介 Log4j2 是 Apache Software Foundation 开发的一个日志记录工具,它是 Log4j 的后续版本,并且在多个方面进行了改进。以下是 Log4j2 的一些关键特性: 性能提升:Log4j2 在设计上做了很多优…

内裤洗衣机哪个牌子好又实惠?诚意盘点五款绝佳内衣洗衣机!

在当今繁忙的生活中,内衣洗衣机已成为我们日常生活中不可或缺的家电。但是,面对市场上众多品牌的内衣洗衣机,那么,到底内衣洗衣机哪个牌子好?本次我将在这篇文章中探讨内衣洗衣机的选购策略,以帮助大家找到…

Java并发编程实战 10 | 线程安全问题

什么是线程安全? 《Java并发实践》的作者 Brian Goetz 对线程安全的定义是:当多个线程访问同一个对象时,如果无需考虑这些线程在运行时的调度策略和交替执行顺序,也不需要进行额外的同步处理,仍然能够得到正确的结果&…

C语言--12字符串处理函数

函数strstr 函数strchr与strrchr 注意: 这两个函数的功能,都是在指定的字符串 s 中,试图找到字符 c。strchr() 从左往右找第一个,strrchr() 从左往右找最后一个。字符串结束标记 ‘\0’ 被认为是字符串的一部分。 函数strlen 示例…

一款免费开源功能丰富的看图软件NeeView

NeeView 是一款功能丰富的图像查看软件,它以其独特的浏览体验和广泛的支持格式受到用户的欢迎。NeeView 不仅可以浏览普通的图像文件,还能够查看压缩包内的图片、预览PDF文档甚至播放视频文件。 NeeView 的主要特点: 多格式支持&#xff1a…

《人工智能安全治理框架》1.0版

人工智能是人类发展新领域,给世界带来巨大机遇,也带来各类风险挑战落实《全球人工智能治理倡议》,遵循“以人为本、智能向善”的发展方向,为推动政府、国际组织、企业、科研院所、民间机构和社会公众等各方,就人工智能…

无人机之穿越机的类型

穿越机,即FPV Drone或Racing Drone,是一种主要通过第一人称视角(FPV)进行操作的无人机。这种无人机通常配备有四个电机和相应的飞控系统,使其具有极高的飞行自由度和速度。穿越机的类型多样,可以从不同角度…

GD32E230程序烧录和开发环境使用介绍

GD32E230程序烧录和开发环境使用介绍 从GD32提供的资料来看,支持IAR、Keil、EmbeddedBuilder;目前该软件还是比较粗糙,个人上手体验不佳,面板菜单按键烧操作一下,动不动就卡死,仅支持gdlink调试器。 Embed…

第100+24步 ChatGPT学习:概率校准 Beta Calibration

基于Python 3.9版本演示 一、写在前面 最近看了一篇在Lancet子刊《eClinicalMedicine》上发表的机器学习分类的文章:《Development of a novel dementia risk prediction model in the general population: A large, longitudinal, population-based machine-learn…

元宇宙的崛起:重塑2024年游戏行业的新趋势

最早可以追溯到1994年,当时出现了世界上第一个轴测图界面的多人互动社交游戏《Web World》。‌这个游戏允许用户实时聊天、旅游、改造场景,开启了游戏中的UGC模式,可以视为元宇宙游戏的雏形。 2021年Roblox元宇宙的概念股上市,Fac…

学生护眼台灯哪个品牌比较好?分享五款效果好的学生护眼台灯

现在孩子的很多兴趣班和课后辅导班都是在线上举行,通常对着手机电脑长时间。电子产品有大量蓝光和辐射,会伤害到孩子的眼睛。但为了学习,也是没办法。护眼台灯的出现可以让孩子们的眼睛得到保护,防止蓝光对眼睛的伤害。学生护眼台…

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为: dotnet 项目启动文件.dll --urls"ht…

CSP-J基础之数学基础 计数原理与排列组合 一篇搞懂

文章目录 前言加法原理加法原理是什么使用场景 乘法原理举个例子总结 区别加法原理乘法原理总结 乘法原理的运用排列组合**排列****组合**总结 计算排列的可能种数举个例子数学定义数学公式应用公式例子应用 总结全排列举个例子数学定义数学公式作用 组合数学定义组合的公式举个…

系统安全设计规范(Word完整版)

1.1 总体设计 1.1.1 设计原则 1.2 物理层安全 1.2.1 机房建设安全 1.2.2 电气安全特性 1.2.3 设备安全 1.2.4 介质安全措施 1.3 网络层安全 1.3.1 网络结构安全 1.3.2 划分子网络 1.3.3 异常流量管理 1.3.4 网络安全审计 1.3.5 网络访问控制 1.3.6 完整性检查 1.…

天洑软件荣获国家级专精特新“小巨人”企业认定

近日,江苏省工业和信息化厅公布了第六批国家级专精特新"小巨人"企业名单,南京天洑软件有限公司(以下简称“天洑软件”)获得国家级专精特新“小巨人”企业认定。继2023年被评为江苏省“专精特新”中小企业后,…

【828华为云征文|华为云Flexus X实例:从选购到登录,一站式指南】

华为云Flexus X实例:从选购到登录,一站式指南 华为云Flexus X实例的优势大揭秘操作指南:一步步带你开通华为云Flexus X实例注册与登录华为云账号选择配置并购买选择Flexus X实例配置选择基础配置实例规格镜像存储网络弹性公网IP您可能需要&am…

佰朔资本:换手率是什么指标?换手率高股价为什么不涨呢?

换手率,也叫”周转率“,指的是在必定时间内商场中股票易手买卖的频率,是反映股票流通性强弱的指标之一。 换手率某段时期内成交量/发行总股数*100%。 通常而言,在股票商场上,换手次数多,筹码互动多&#…

Docker 部署 Kafka (图文并茂超详细)

部署 Kafka ( Docker ) Kafka对于zookeeper是强依赖,保存kafka相关的节点数据,所以安装Kafka之前必须先安装zookeeper [Step 1] : 部署 Zookeeper -> 拉取 Zookeeper 镜像 ➡️ 启动 Zookeeper 容器 docker pull zookeeper:3.4.14 docker run -d --…