您的位置:首页 > 娱乐 > 八卦 > 上海展台设计搭建_在线生成个人网站免费观看_谷歌浏览器下载手机版安卓官网_站长素材音效

上海展台设计搭建_在线生成个人网站免费观看_谷歌浏览器下载手机版安卓官网_站长素材音效

2025/4/19 16:53:58 来源:https://blog.csdn.net/UbuntuTouch/article/details/147292458  浏览:    关键词:上海展台设计搭建_在线生成个人网站免费观看_谷歌浏览器下载手机版安卓官网_站长素材音效
上海展台设计搭建_在线生成个人网站免费观看_谷歌浏览器下载手机版安卓官网_站长素材音效

作者:来自 Elastic Ioana Tagirta

在 Elasticsearch 8.18 和 9.0 中,ES|QL 支持评分、语义搜索以及更多的 match 函数配置选项,还有一个新的 KQL 函数。

使用 ES|QL 搜索

在 Elasticsearch 8.18 和 9.0 中,ES|QL 增加了一系列新功能,包括:

  • 支持评分

  • 语义搜索

  • 更多的 match 函数配置选项

  • 一个新的 KQL 函数

在这篇博客中,我们将回顾 8.18 版本的功能以及我们计划添加到 ES|QL 的其他令人兴奋的新功能,进一步加强我们对将 ES|QL 打造成一个现代搜索语言的投资,以满足你的需求,无论你是在构建一个由 ES|QL 提供支持的搜索应用程序,还是在 Kibana Discover 中分析数据。

介绍评分

在 8.17 版本中,我们增加了使用全文文本函数过滤文档的功能。如果你不熟悉 ES|QL 中的全文文本过滤,我们建议阅读我们关于它的原创博客文章。

在 8.18 和 9.0 中,我们引入了对评分的支持,使得能够根据相关性排序返回文档。要访问每个文档的得分,只需在 ES|QL 查询中添加元数据 _score 字段:

FROM books METADATA _score
| WHERE match(title, "Shakespeare") OR match(plot, "Shakespeare")
| SORT _score DESC

我们获取的得分与从等效的 search API 查询中获得的得分相同:

GET books/_search
{"query": {"bool": {"should": [{"match": {"title": "Shakespeare"}},{"match": {"title": "Shakespeare"}}]}}
}

全文本搜索函数,如 match、qstr 和 kql 只能在 WHERE 条件中使用,并且是唯一能影响得分的函数。

_score 列不仅可以用于按相关性排序文档,还可以用于自定义评分公式。在下一个示例中,我们使用得分阈值仅保留最相关的结果,然后根据读者评分添加得分加成:

FROM books METADATA _score
| WHERE match(title, "Shakespeare") OR match(plot, "Shakespeare")
| WHERE _score > 2 // we remove the documents with low scores
| EVAL new_score = _score + rating/5
| SORT new_score DESC

改进 match 函数

在 ES|QL 中,match 函数仅仅是转化为一个Query DSL 的 match 查询。在 8.18 和 9.0 中,我们扩展了 match 函数的功能,包含了当前在 Query DSL 中可用的所有选项。现在,在 ES|QL 中也可以设置常用的 match 选项,如 boost、fuzziness 和 operator:

FROM books METADATA _score
| WHERE match(title, "Dream of the red chamber", { "operator": "AND", "fuzziness": "AUTO", "boost": 0.75 })OR match(plot, "Dream of the read chamber", { "operator": "AND", "boost": 0.25 })
| SORT _score DESC

进入语义搜索

8.18 版本带来了令人兴奋的消息,语义搜索现在正式可用。我们扩展了 match 函数,支持在 semantic_text 字段类型上进行查询。

在 ES|QL 中,执行语义查询(semantic query)现在和执行全文查询一样简单,如下例所示:

FROM books METADATA _score
| WHERE semantic_title:"Shakespeare"
| SORT _score DESC

在这个示例中,我们将 semantic_title 设置为使用 semantic_text 字段类型。

将索引字段映射为 semantic_text 就是为语义搜索设置索引所需的全部操作。

查看我们的语义文本搜索教程,了解更多细节。

ES|QL 混合搜索

ES|QL 使得同时进行语义搜索和词汇搜索变得简单。根据你的用例,也可以设置不同的加权,优先显示来自语义搜索或词汇搜索的结果:

FROM books METADATA _score
| WHERE match(semantic_title, "Shakespeare", { "boost": 0.75 }) OR match(title, "Shakespeare", { "boost": 0.25 })
| SORT _score DESC

从 KQL 过渡

如果你是 Kibana Discover 的长期用户,并且使用 KQL(Kibana Query Language)来查询和可视化数据,同时你想尝试 ES|QL 但不知道从哪里开始,别担心,我们来帮你!

在 8.18 和 9.0 中,ES|QL 增加了一个新功能,允许你在 ES|QL 中使用 KQL。操作就像这样简单:

FROM logs*
| WHERE KQL("http.request.method:GET AND agent.type:filebeat")

ES|QL 已经在 Kibana Discover 中可用。

这样,你可以同时享受两者的优点:你可以继续使用 KQL,并且可以按自己的节奏开始更熟悉 ES|QL。

查看我们的 ES|QL 入门指南,获取更多信息。

8.18 和 9.0 及以后版本

在未来的版本中,我们将为 ES|QL 添加越来越多的搜索功能,包括向量搜索、语义重新排序、增强的评分自定义选项,以及结合混合搜索结果的额外方法,例如倒排排名融合(RRF)。

亲自尝试

这些变化从 Elasticsearch 8.18 开始可用,但它们已经可以在 Elasticsearch Serverless 中使用。对于 Elasticsearch Serverless,今天就开始免费的云试用,或者现在就尝试在本地机器上使用 Elastic!

跟随《在 ES|QL 中搜索和过滤》教程,亲自体验这篇博客中描述的功能!

Elasticsearch 拥有丰富的新功能,帮助你为你的用例构建最佳的搜索解决方案。深入了解我们的示例笔记本,了解更多内容,开始免费的云试用,或者现在就尝试在本地机器上使用 Elastic。

原文:ES|QL, you know, for Search - Introducing scoring and semantic search - Elasticsearch Labs

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com