其实,AI搜索平台之所以这么聪明,是因为它们背后有着庞大的内容来源。作者:刘鑫炜互联网品牌内容营销专家蚂蚁全媒体总编今天,我们就来一起揭开AI搜索平台背后的神秘面纱,看看那些搜索结果都来自哪些平台。...第一个是文心一言的搜索结果,其中显示参考4条信息源,主要来自新浪财经、简书、百家号和CSDN等。第二个是天工AI的搜索结果,其中显示参考知乎专栏、网易、搜狐等信息源。...第三个是KIMI的搜索结果,参考来源比较多,28条,信息源比较综合。第四个是豆包的搜索结果,其中显示搜索来源来自网易、头条号、格隆汇等。...第五个是腾讯元宝的搜索结果,它引用了5篇资料作为参考,3篇来自微信公众号,一篇来自搜狐,一篇来自数英网。通过多次测试梳理,我们发现,各个AI搜索的来源虽然各异,但是大体的信息来源基本相似。...这些平台以其独特的用户生成内容(UGC)模式,汇聚了来自各行各业的专业人士、学者、爱好者以及普通用户的智慧与经验,形成了一个庞大而多元的知识网络。
简介 评分的概念是任何搜索引擎(包括 Elasticsearch)的核心。评分可以粗略地定义为:找到符合一组标准的数据并按相关性顺序将其返回。...在使用 Elasticsearch 进行全文搜索的时候,默认是使用 BM25 计算的 _score 字段进行降序排序的。...当简单的使用几个字段升降序排列组合无法满足我们的需求的时候,我们就需要自定义排序的特性,Elasticsearch 提供了 function_score 的 DSL 来自定义打分,这样就可以根据自定义的...我们的分数和之前的那个 soft_score 结果是不一样的,但是我们搜索的结果的排序是一样的。 在上面的 script 的写法中,我们使用了硬编码,也就是把10硬写入到 script 中了。...衰变函数 Function 评分技术不仅可以修改默认的 Elasticsearch 评分算法,还可以用于完全替代它。 一个很好的例子是 “trending” 搜索,显示主题中正在迅速流行的项目。
2.搜索结果处理 搜索的结果可以按照用户指定的方式去处理或展示。 2.1.排序 elasticsearch默认是根据相关度算分(_score)来排序,但是也支持自定义方式对搜索结果排序。...elasticsearch中通过修改from、size参数来控制要返回的分页结果: from:从第几个文档开始 size:总共查询几个文档 类似于mysql中的limit ?, ?...,例如手机向下滚动翻页 scroll: 优点:没有查询上限(单次查询的size不超过10000) 缺点:会有额外内存消耗,并且搜索结果是非实时的 场景:海量数据的获取和迁移。...,其中包含match、term、function_score、bool等各种查询: 3.1.2.解析响应 响应结果的解析: elasticsearch返回的结果是一个JSON字符串,结构包含: hits...:命中的结果 total:总条数,其中的value是具体的总条数值 max_score:所有结果中得分最高的文档的相关性算分 hits:搜索结果的文档数组,其中的每个文档都是一个json
最近的项目在原有的搜索需求增加功能 ElasticSearch 7.6 (请注意,大版本不同可能参数不同) 原有搜索:简单的标题+正文 全文索引 新加功能:在原有的基础上,更加完善排序结果。...发布时间(发布太久的了得分需下降)后台给予的权重值(权重值越高越好)热度 调研了一下文档,发现ElasticSearch完美支持这样的需求,只需要自己定义好递减函数即可。...,它所得的分数就开始进行衰减了,衰减规模决定了这个分数衰减速度的快慢 decay:衰减值,该字段可以被接受的值(默认为 0.5),相当于一个分界点,具体的效果与衰减的模式有关 衰减函数 linear 直线衰减...weight": 2 } ] } } } 引用文档: https://www.elastic.co/guide/en/elasticsearch.../reference/7.6/query-dsl-function-score-query.html 知乎Live全文搜索之使用Elasticsearch全文搜索
elasticsearch[三]-搜索结果处理排序、分页、高亮等原理+实践 1. 搜索结果处理 搜索的结果可以按照用户指定的方式去处理或展示。 1.1....排序 elasticsearch 默认是根据相关度算分(_score)来排序,但是也支持自定义方式对搜索结果排序。可以排序字段类型有:keyword 类型、数值类型、地理坐标类型、日期类型等。...分页 elasticsearch 默认情况下只返回 top10 的数据。而如果要查询更多数据就需要修改分页参数了。...elasticsearch 中通过修改 from、size 参数来控制要返回的分页结果: from:从第几个文档开始 size:总共查询几个文档 类似于 mysql 中的limit ?...,例如手机向下滚动翻页 scroll: 优点:没有查询上限(单次查询的 size 不超过 10000) 缺点:会有额外内存消耗,并且搜索结果是非实时的 场景:海量数据的获取和迁移
【腾讯云 Elasticsearch Service】高可用,可伸缩,云端全托管。集成X-Pack高级特性,适用日志分析/企业搜索/BI分析等场景 ---- 允许根据字段值折叠搜索结果。...JSON数据导入到Elasticsearch中: 3.png 我们把这个index的名字叫做best_games: 4.png 这样我们的数据就准备好了。...field": "publisher" }, "sort": [ { "critic_score": { "order": "desc" } } ]} 搜索的结果是...: 我们搜索所有的名字为 Final Fantasy 的游戏,并按照 critic_score 降序排序。...它的意思就是每个 publisher 只能有一个搜索的结果,尽管每一 publisher 有很多款的游戏 比如,我们可以找到 publisher 为 SquareSoft 并且 name 里含有 Final
2016年12月,我们开始研究Ambar——一个文档搜索系统。Ambar使用ElasticSearch作为核心搜索引擎。...在Ambar开发的过程中,我们处理了很多与ES相关的问题,我们想分享我们得到的宝贵经验。让我们从每个搜索系统的一个重要功能开始——高亮显示搜索结果。...在任何搜索系统的可用性中,适当的结果高亮显示是最有价值的部分,首先,它为用户提供了关于内部搜索逻辑的必要信息,以及为什么显示该结果。...本文介绍了在利用ElasticSearch高亮显示大型文档时如何达到高性能。 定义问题 Ambar使用ES作为搜索引擎,搜索经过解析的文件/文档内容及其元数据。...任何使用搜索系统的用户都希望在点击“搜索”按钮后立即得到搜索结果,而不需要等待半分钟就会出现第一个结果。让我们来看看高亮显示这个缓慢突出的问题并解决它。
,进入ElasticSearch安装目录下的bin目录,执行命令 elasticsearch 即可启动。...我们打开浏览器,在地址栏输入http://127.0.0.1:9200/ 即可看到输出结果 { "name" : "y65yr7D", "cluster_name" : "elasticsearch...http://127.0.0.1:9200/articleindex/article body: { "title":"SpringBoot2.0", "content":"区别和练习" } 返回结果如下...为了方便之后的演示,我们再次录入几条测试数据 3 查询全部文档 ,在type后加_search查询所有文档 查询某索引某类型的全部数据,以get方式请求 http://127.0.0.1:9200/tensquare_article...articleSearchService.save(article); return new Result(true, StatusCode.OK, "操作成功"); } } 5.2.3文章搜索
另一个示例可能是视频共享站点上的视频,其中搜索结果可能应该考虑视频的相对受欢迎程度。...在使用 Elasticsearch 进行全文搜索的时候,默认是使用 BM25 计算的 _score 字段进行降序排序的。...当简单的使用几个字段升降序排列组合无法满足我们的需求的时候,我们就需要自定义排序的特性,Elasticsearch 提供了 function_score 的 DSL 来自定义打分,这样就可以根据自定义的...细心的读者可能看出来了。我们的分数和之前的那个 soft_score 结果是不一样的,但是我们搜索的结果的排序是一样的。...这次的搜索结果显示 Final Fantasy XIII-2 是得分最高的文档。
文章目录 terms概述 准备数据 小例子 搜索articleID为KDKE-B-9947-#kL5或QQPX-R-3956-#aD8的帖子 搜索tag中包含java的帖子 优化搜索结果,仅仅搜索tag...---- 优化搜索结果,仅仅搜索tag只包含java的帖子 上面的第二个例子中,搜索java ,可以看到返回了3条结果,其中 "tag": [ "java",..."elasticsearch" ] "tag": [ "java", "hadoop" ], 也被搜索出来了...,如果仅仅是想搜索tag只包含java的帖子呢 ?...---- 总结一下: terms多值搜索 优化terms多值搜索的结果,可以增加个cnt字段标示一下,组合过滤 terms相当于SQL中的in语句
1.普通查询(全文搜索) 查询name=Smith的文档数据 GET /megacorp/employee/_search { "query" : { "match" : {..."name" : "smith" } } } 备注: 返回结果当中存在max_score和每个记录当中的_score表示最大相关性分数和该记录的相关性分数 2.组合查询 查询name...{ "age" : { "gt" : 30 } } } } } } 3.短语搜索..."query" : { "match_phrase" : { "about" : "rock climbing" } } } 4.高亮搜索...查询结果当中all_interests是分析结果 6.分级汇总-分析 按照interests字段进行聚合,然后计算age平均年龄 GET /megacorp/employee/_search {
一、 搜索 1.DSL搜索 全部数据没有任何条件 GET /shop/goods/_search { "query": { "match_all": {} } } 查询名称包含 xxx 的商品,同时按照价格降序排序...query" : { "match" : { "name" : "xxx" } }, "from": 1, "size": 1 } 查询结果中返回的字段...设置 查询结果中返回的字段 设置 GET /shop/goods/_search { "query" : { "match" : { "name" : "xxx...) 短语搜索的功能和全文检索相对应,全文检索会将输入的搜索串拆解开来,去倒排索引里面去一一匹配,只要能匹配上任意一个拆解后的单词,就可以作为结果返回 phrase search,要求输入的搜索串,必须在指定的字段文本中..."producer" : "xxx" } } } 5 highlight search(高亮搜索结果) 高亮优化: 方式1:传统plain高亮方式。
来源:blog.csdn.net/dc_726/ article/details/94252850 1.近实时搜索 1.1 实时与近实时 1.2 近实时的挑战 2.ElasticSearch的实现 2.1...而这就是ElasticSearch大获成功的地方,也正是本文所要学习的主题:ElasticSearch是如何解决这些实现近实时搜索的难题的。...所谓增量保存就是为新数据构建一个新的不可变的Inverted Index,当执行搜索时,要合并每个Inverted Index中的统计信息得到最终结果。...同理,更新时也是给老数据做标记,新document会保存在新的Inverted Index中,最终结果会使用最新版本数据的统计信息。...每个Segment都是一个物理文件,操作系统中打开文件的句柄个数是有限的,而且即便不考虑上限,过多Segment也会拖慢搜索,因为前面讲过一次搜索的最终结果是要合并所有Segment中的统计信息的。
而这就是ElasticSearch大获成功的地方,也正是本文所要学习的主题:ElasticSearch是如何解决这些实现近实时搜索的难题的。...要做到近实时搜索,就要保证新数据能快速构建,已有数据能被高速访问。解决问题的关键就在于Inverted Index的不可变性,这也是ElasticSearch底层依赖的高性能Lucene的根本奥秘。...所谓增量保存就是为新数据构建一个新的不可变的Inverted Index,当执行搜索时,要合并每个Inverted Index中的统计信息得到最终结果。...同理,更新时也是给老数据做标记,新document会保存在新的Inverted Index中,最终结果会使用最新版本数据的统计信息。...每个Segment都是一个物理文件,操作系统中打开文件的句柄个数是有限的,而且即便不考虑上限,过多Segment也会拖慢搜索,因为前面讲过一次搜索的最终结果是要合并所有Segment中的统计信息的。
play_year": 15, "jerse_no": "23" } term(词条)查询和full text(全⽂)查询 词条查询:词条查询不会分析查询条件,只有当词条和查询字符串完全匹配时,才匹配搜索...全⽂查询:ElasticSearch引擎会先分析查询字符串,将其拆分成多个分词,只要已分析的字段中包含词条的任意⼀个,或全部包含,就匹配查询条件,返回该⽂档;如果不包含任意⼀个分词,表示没有任何⽂档匹配查询条件
文章目录 概述 数据 小例子 搜索标题中包含java或elasticsearch的blog 搜索标题中包含java和elasticsearch的blog 搜索包含java,elasticsearch,...这里我们就来探讨下手动控制全文检索结果的精准度的几种方式 match query 6.4版本 : https://www.elastic.co/guide/en/elasticsearch/reference...---- 搜索包含java,elasticsearch,spark,hadoop,4个关键字中,至少3个的blog 指定一些关键字中,必须至少匹配其中的多少个关键字,才能作为结果返回 The minimum...比如下面的搜索,should中有4个条件,默认情况下,只要满足其中一个条件,就可以匹配作为结果返回, 但是可以精准控制,should的4个条件中,至少匹配几个才能作为结果返回 GET /forum/article...,进行多个值的检索,有两种做法,match query;should 2、控制搜索结果精准度:and operator、minimum_should_match
ElasticSearch也是分布式的,当数据分散与多个节点或者分片上时,他是如何解决数据聚合问题的呢?另外,搜索基本都需要排序,如何解决排序问题呢?...S2: 这N个分片基于本分片的内容独立完成搜索,然后将符合条件的结果全部返回。 S3: 客户端将返回的结果进行重新排序和排名,最后返回给用户。 有经验的开发很容易看出来,这里有两个问题: 数量问题。...这种搜索方式是最快的,只需要去shard查询一次,但是各个shard返回的结果的数量之和可能是用户要求的size的n倍。...在原理篇我们知道,当将一个文档保存到ElasticSearch会根据分词的结果创建倒排索引,这种结构是零散的,即每一个Term都会对应Posting List。...查询的时候也是先经过分词,然后根据倒排索引查询。 这里就有一个问题,ElasticSearch是如何将匹配度最高的内容放在前面的?如下图所示,匹配效果最好的内容放到了返回结果的最前面。 ?
ElasticSearch也是分布式的,当数据分散与多个节点或者分片上时,他是如何解决数据聚合问题的呢?另外,搜索基本都需要排序,如何解决排序问题呢?...S2: 这N个分片基于本分片的内容独立完成搜索,然后将符合条件的结果全部返回。 S3: 客户端将返回的结果进行重新排序和排名,最后返回给用户。 有经验的开发很容易看出来,这里有两个问题: 数量问题。...这种搜索方式是最快的,只需要去shard查询一次,但是各个shard返回的结果的数量之和可能是用户要求的size的n倍。...在原理篇我们知道,当将一个文档保存到ElasticSearch会根据分词的结果创建倒排索引,这种结构是零散的,即每一个Term都会对应Posting List。...查询的时候也是先经过分词,然后根据倒排索引查询。 这里就有一个问题,ElasticSearch是如何将匹配度最高的内容放在前面的?如下图所示,匹配效果最好的内容放到了返回结果的最前面。
领取专属 10元无门槛券
手把手带您无忧上云