gpt4 book ai didi

elasticsearch - 我可以在Elasticsearch中按词拆分单词以提高 `wildcard`的性能吗?

转载 作者:行者123 更新时间:2023-12-03 02:31:23 29 4
gpt4 key购买 nike

我正在使用Elasticsearch6.8并在查询中使用match_phrase_prefixwildcard。我发现它的性能很差。我在想的是手动将文本标记为一组术语。

例如,该字段具有类似于ABCD的文本,而不是执行前缀查询或通配符查询,而是在建立索引期间将文本拆分为["A", "AB", "ABC", "ABCD"]数组。然后在字段上使用match查询。因此,当用户发送类似于AB的请求时,它将执行完全匹配。这是一个好的解决方案吗?它如何影响评分?

最佳答案

您建议的方法是edge_ngram标记器在elasticsearch中的作用。
这将通过产生更多的 token 来增加索引空间。
因此,这实际上取决于您的用例,因此,如果数据量较小,则可以加快查询响应的速度,但更常见的用例是自动建议(按需输入查询)。
您可以在这里了解更多信息:https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-edgengram-tokenizer.html

说到得分点:尽管它取决于您要触发的查询,但与match_phrase_prefix相比,通常不会有太大差异,因为您将比较相同的标记。

关于elasticsearch - 我可以在Elasticsearch中按词拆分单词以提高 `wildcard`的性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59942104/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com