gpt4 book ai didi

ruby - 仅匹配Elasticsearch中字符串的第一个字母

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

如何返回以某个字母开头的构面的匹配项?例如,Elasticsearch建议您使用查询"T*"返回所有以字母T开头的标题。但是,这似乎返回的标题包含以字母T开头的任何单词。例如,“Trees and Shrubs”以及“如何修剪树木。”我只想返回“树木和灌木丛”。我尝试使用"^T*",但是返回SearchPhraseExecutionException。

最佳答案

默认情况下,elasticsearch 使用默认的分析器分析字段,该分析器将字段拆分为通常在英语单词边界上拆分的标记。因此,“如何修剪树”分为(“如何”,“到”,“修剪”,“树”), token “树”随后与您的查询“T *”匹配。为避免这种情况,必须在对象mapping中指定该字段为not_analyzed。这使Elasticsearch有效地将字段值视为一个巨大的 token ,然后它将与您的前缀查询正确匹配。

您也可以 checkout prefix query,但这实际上是发出相同查询的另一种方式。您仍然需要指定在映射中不分析该字段。

关于ruby - 仅匹配Elasticsearch中字符串的第一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18754976/

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