株洲做网站的公司广州做网站专业公司

diannao/2025/10/19 5:13:28/文章来源:
株洲做网站的公司,广州做网站专业公司,饰品网站建设规划书,怎么重新安装我的wordpress都是负担在很多app上#xff0c;当我们输入某些内容时候#xff0c;它会立即做一些补全操作#xff0c;如果我想实现上述的需求#xff0c;我们就可以使用ES提供的Suggesters Api。那Suggesters是如何做到的那#xff1f;简单来说#xff0c;Suggesters会将输入的文本拆分…都是负担在很多app上当我们输入某些内容时候它会立即做一些补全操作如果我想实现上述的需求我们就可以使用ES提供的Suggesters Api。那Suggesters是如何做到的那简单来说Suggesters会将输入的文本拆分为tokentoken就是根据规则切分文本后一个个词然后在索引里面查找相似的Term根据使用场景不同ES提供了以下4种Suggester Term Suggester基于单纯的纠错补全Phrase Suggester基于短语的纠错补全Completion Suggester自动补全单词输入词语的前半部分自动补全单词Context Suggester基于上下文的补全提示可以实现上下文感知推荐 Term Suggester Term Suggester 提供了**基于单词的纠错、补全功能其工作原理是基于编辑距离edit distance来运作的编辑距离的核心思想就是一个词需要改变多少个字符就可以和另外一个词一致。所以如何一个词转换为原词所需要改动的字符数越少它越有可能是最佳匹配。比如**linux和linux为了吧linux转变为linux需要改变一个字符“v”所以其编辑距离为1 Term Suggester工作的时候会将输入的文本切分成一个个单词我们称之为token然后根据每个单词提供建议所以其不会考虑输入文本间各个单词的关系。先来一个示例 如上图所示用户搜索了“kernel architture”其中“architture”是错误的拼写。Suggester Api需要在“suggest”块中指定参数 “my_suggest”: 这个是我们自定义的名称“text”指定了需要产生建议的文本一般是用户的输入内容“term”: 表示使用的是Term Suggester Api如果是Phrase Suggeseter用的是’phrase’“suggest_mode”: 设置建议的模式 missing如果索引中存在就不进行建议默认popular: 推荐出现频率更高的词always不管是否存在都进行建议 “field”: 指定从哪个文档上获取建议上例中是从书名name中获取建议“analyzer”: 指定分词器来对输入文本进行分词默认与fileld指定的字段设置的分词器一样“size”: 为每个单词提供的最大建议数“sort”: 建议结果排序的方式有以下两个选项 score先按相似性得分排序然后按文档频率排序最后按词项本身字母顺序的等排序。frequencry 先按文档频率排序然后按相似性得分排序最后按词项本身排序 返回结果 从返回结果可以看出对于每个词语的建议结果放在了 “options”数组中。如果一个词语有多个建议那么就按照sort参数指定的方式进行排序。实例中由于“kernel”这个词是存在的并且 suggest_mode为“missing”所以不进行建议其options为空 Phrase Suggester Term Suggester产生的建议是基于每个单词的如果想要对整个短语或者一句话建议Term Suggester就有点无能为力了所以我们就会使用Phrase Suggester Api来获取与用户输入相似的内容 Phrase Suggester在Term Suggester的基础上增加了一些额外的逻辑因为是短语形式的建议所以会考量多个Term间的关系比如相邻的程度、词频等。下面是一个示例返回结果这个就比较简单定义了使用Phrase使用的建议字段为name返回结果里面options 返回了一个短语列表并且因为“history”和“time”在一个文档里出现过其可信度相对于其他来说更高所以得分更高。因为我们使用“highlight”选项所以返回结果中被替换的词语会高亮显示 Phrase Suggester还有其他一些参数 max_error指定最多可以拼写错误的词语的个数confidence其作用用来控制返回结果条数的如果用户输入的数据的得分为N那么返回结果的得分需要大于N * confidence。confidence默认值为1.0highlight高亮后被修改后的词语 Completion Suggester Completion Suggester提供了自动补全的功能其应用场景是用户每输入一个字符就需要返回匹配的结果给用户。在并发量大、用户输入速度快的时候对服务的吞吐量来说是个不小的挑战。所以Completion Suggester不能像上面的Suggester Api那样简单通过倒排索引实现比如使用其他高效的数据结构和算法才能满足要求 Completion Suggester在实现的时候会将analyze将文本分词并且去除没用的词语例如is、at这种词语后的数据结构构建为FST并且和索引存放在一起。FSTfinite-state transducer是一种高效的前缀查询索引由于FST天生为前缀查询而生所以其非常适合实现自动补全的功能。ES会将整个FST加载到内存中所以在使用FST进行前缀查询的时候效率是非常高效的。 在使用Completion Suggester前需要定义Mapping对应的字段需要使用“completion” type。下面我们来构建一个新的books_completion索引其Mapping和测试数据如下 PUT books_completion {mappings: {properties: {book_id: {type: keyword},name: {type: text,analyzer: standard},name_completion: {type: completion},author: {type: keyword},intro: {type: text},price: {type: double},date: {type: date}}},settings: {number_of_shards: 3,number_of_replicas: 1} }PUT books_completion/_doc/1 {book_id: 4ee82462,name: Dive into the Linux kernel architecture,name_completion: Dive into the Linux kernel architecture,author: Wolfgang Mauerer,intro: The content is comprehensive and in-depth, appreciate the infinite scenery of the Linux kernel.,price: 19.9,date: 2010-06-01 }PUT books_completion/_doc/2 {book_id: 4ee82463,name: A Brief History Of Time,name_completion: A Brief History Of Time,author: Stephen Hawking,intro: A fascinating story that explores the secrets at the heart of time and space.,price: 9.9,date: 1988-01-01 }PUT books_completion/_doc/3 {book_id: 4ee82464,name: Beginning Linux Programming 4th Edition,name_completion: Beginning Linux Programming 4th Edition,author: Neil Matthew、Richard Stones,intro: Describes the Linux system and other UNIX-style operating system on the program development,price: 12.9,date: 2010-06-01 }来个示例返回结果 如上示例在“my_suggest”中“prefix”指定了需要匹配的前缀数据“completion”中的“fileld”指定了需要匹配文档的哪个字段返回结果中的“options”包含了整个文档的数据 需要注意的是Completion Suggester在索引数据的时候经过了analyze阶段所以使用不同的analyzer会造成构建FST的数据不同例如某些词is、at等被去除、某些词被转换等。 Context Suggester Context Suggster是Completion Suggeseter的扩展可以实现上下文感知推荐。列入当我们在编程类型的数据中查询“liun”的时候可以返回linux编程相关的书籍但在任务自传类型的书籍中将会返回linus的自传。要实现这个功能可以在文档中加入分类信息帮助我们做精准推荐 ES支持两种类型的上下文 Category任意字符串的分类Geo地理位置信息 下面我们看看如何基于任意字符串的分类来做上下文推荐。同样在使用Context Suggester前首先要创建mapping然后在数据中加入相关的 Context 信息。下面是使用 Context Suggester 时的 Mapping #删除原来的索引 DELETE books_context# 创建用于测试 Context Suggester 的索引 PUT books_context {mappings: {properties: {book_id: {type: keyword},name: {type: text,analyzer: standard},name_completion: {type: completion,contexts: [{name: book_type,type: category} ]},author: {type: keyword},intro: {type: text},price: {type: double},date: {type: date}}},settings: {number_of_shards: 3,number_of_replicas: 1} }# 导入测试数据 PUT books_context/_doc/4 {book_id: 4ee82465,name: Linux Programming,name_completion: {input: [Linux Programming],contexts: {book_type: program}},author: Richard Stones,intro: Happy to Linux Programming,price: 10.9,date: 2022-06-01 }PUT books_context/_doc/5 {book_id: 4ee82466,name: Linus Autobiography,name_completion: {input: [Linus Autobiography],contexts: {book_type: autobiography}},author: Linus,intro: Linus Autobiography,price: 14.9,date: 2012-06-01 } 如上所示的Mapping中其中“name_completion”的类型还是为“completion”在“context”中有2个字段其中“type”为上下文的类型就是上面说的Category和Geo本例子中使用了Category。而“name”则为上下文的名称 本例子为“book_type” 导入的数据中“name_completion”中的“input”字段用于内容匹配。“book_type”的值有多个“program”是编程类的“autobiography”是自传类的 我们拿一个案例试一下 返回的结果数据

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

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

相关文章

苏州网站建设代理无经验学电商要多久

SQL*PLUS命令的使用大全Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域…

网站制作致谢词凡科网小程序怎么样

展开全部是 \b,也就是backspace,这是一个转义32313133353236313431303231363533e4b893e5b19e31333337393466字符,详解如下:所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示…

武夷山住房和城乡建设局网站神华公司两学一做网站

异步操作使您能在不阻塞主线程的情况下执行占用大量资源的 I/O 操作。 在 Windows 8.x 应用商店应用或桌面应用中一个耗时的流操作可能阻塞 UI 线程并让应用看起来好像不工作时,这种性能的考虑就显得尤为重要了。 从 .NET Framework 4.5 开始,I/O 类型包…

如何给公司做一个网站建设学校网站论文

全世界只有3.14 % 的人关注了爆炸吧知识不知你有没有过这样的经历:即将进入甜美梦乡,突然就像触电般地抖了一下,或者不由自主猛地踢一下,瞬间被惊醒!这到底是啥情况?网上的答案五花八门:有人说缺…

网站报价文档滨州市建设局网站

Kibana(一张图片胜过千万行日志) Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。 你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。 你可以轻松地执行高级数据分析&a…

新闻类网站开发多久ftp中打开wordpress

[css] 如何在白天和黑夜自动切换页面的颜色? 媒体查询的内容都是设备的属性:宽度高度,旋转方向,打印样式,分辨率 所以用媒体查询的话,需要用户的设备拥有切换黑暗模式的功能 借助 js 切换页面颜色的话&…

浙江公司响应式网站建设推荐网站网络广告推广

最近在学习DALI调光相关知识并下载了Microchip提供的基于ATMega88PA的软件工程及硬件设计参考方案。写这些文章的目的就是把自己对知识的理解作一些梳理。 芯片厂果然专业,考虑得相当周到,为了芯片销量连软件和硬件方案全都提供了。芯片厂关于DALI1.0实…

经常访问的网站来打不开制作网页时用的最多的图像文件

在前段时间我写了一篇迁移 csproj 格式的博客 将 WPF、UWP 以及其他各种类型的旧 csproj 迁移成基于 Microsoft.NET.Sdk 的新 csproj,不过全过程是手工进行的,而且到最后处理 XAML 问题也非常头疼。现在,我们可以利用工具自动地完成这个过程。…

专业设计网站有哪些wordpress内存溢出

原标题:适合老电脑升级?GTX1650显卡开箱,性价比依然不高!新一代的NV显卡高端版本基本上全部和大家见面,例如RTX2080ti、RTX2070等等。而中端的RTX2060和GTX1660ti也陆续被玩家接受,剩下入门级的显卡英伟达取…

广州建设网站下载建设网站的实验目的

选择题 题目:房地产属于非货币性资产,其拥有者可以很快将房地产兑换成现金。 题目: 物业经营管理既包括保证物业正常使用的运行操作管理活动,也包括将物业作为一种收益性资产所进行的一系列的经营活动。 题目:政府干预…

建站报价软文推广代理

文章目录 最长上升子序列回顾题目描述问题分析程序代码复杂度分析 怪盗基德的滑翔翼题目描述输入格式输出格式 问题分析程序代码复杂度分析 登山题目描述输入格式输出格式 问题分析程序代码复杂度分析 合唱队形题目描述输入格式输出格式 问题分析程序代码复杂度分析 友好城市题…

大石桥做网站网上注册公司app

目录 SQLite简介SQLite优势安装 SQLite基本使用Java使用SQLite Springboot使用SQLite1.添加依赖2.配置数据库3.创建实体类 4.创建Repository接口5.创建控制器6.运行应用程序 SQLite简介 SQLite 是一个开源的嵌入式关系数据库,实现了自给自足的、无服务器的、配置无…

网站开发时保证用户登陆的安全贵州安顺住房城乡建设网站

数据冷热分离方案 1、背景 ​ 随着业务的发展,在线表中的数据会逐渐增加。常规业务都有冷热数据现象明显的特性(需要访问的都是近期产生的热数据;时间久远的冷数据出于备份、备案溯源等诉求会进行在线保留)。在业务表数据 量可控…

免费的网站在川航网站购票后怎么做

原文地址:Design your app for decision-making原文作者:Jeni译文出自:掘金翻译计划本文永久链接:github.com/xitu/gold-m…译者:PTHFLY校对者:ryouaki想帮助用户做决定?你的APP可以这样设计&am…

免费建网站广告语中英文外贸网站模板 生成静态html

1.badboy介绍 Badboy是一款不错的Web自动化测试工具,如果你将它用于非商业用途,或者用于商业用途安装Badboy 的机器数量不超过5台,你是不需要为它支付任何费用的。Badboy提供了将Web测试脚本直接导出生成JMeter 脚本的功能,并且这…

吴江建设局网站打不开建设工程检测网

0. Overview C的预处理指令格式为#name,均以#开头,#和指令名之间不可有空白字符,#前可以有空字符,但为增强可读性,一般应从第一列开始 #name不能由宏展开得来,name也不能由宏展开得来,如 // Wro…

佛山外贸网站推广网站开发系统设计怎么写

程序运行太慢,想要提速,但不使用复杂的技术如 C 扩展或 JIT 编译器。 解决方案 程序优化的第一准则是“不要优化”,第二准则是“不要优化那些不重要的部分”。基于这两个原则,如果你的程序运行得很慢,你得先找出影响性…

太仓网站公司网站漂浮广告代码

From: http://yaven.iteye.com/blog/1084044 今天找了很久关于在VIM中格式化xml的插件都没找到,后来才发现其实不用装插件,在linux环境中使用xmllint就可以实现对xml文件的格式化功能。 1,安装libxml2。 Libxml2 是一个xml的c语言版的解析器&…

网站建设做网站需要多少钱?红河网站建设

关于placement new 在https://blog.csdn.net/qq_42604176/article/details/111997397中已经介绍了placement new的形式。 它的形式为new()/delete().我们将分配好内存的指针送入括号中,就完成了初步的调用了。 其实我们可以定义放任何的东西到()内部。只放一个指针…

网站建设与管理的发展怎么开发手机网站

按照这个路径,找到config.inc.php文件,打开 找到下面三个语句 db_server:一般填127.0.0.1,如果修改了mysql的端口号,要在后面加上修改后的端口号,默认为3306 db_user:自己mysql数据库的用户名 db_password&#xff1…