gpt4 book ai didi

Solr 查询结果使用 *

转载 作者:行者123 更新时间:2023-12-01 00:12:52 25 4
gpt4 key购买 nike

我想提供部分匹配,所以我将 * 添加到搜索查询的末尾。我注意到 gatorade 的搜索查询将返回 12 个结果,而 gatorade* 返回 7。所以 * 似乎是 1 或多个而不是 0 或多个......我怎样才能做到这一点?我在 Solr 中进行部分匹配是否全错了?谢谢。

最佳答案

首先,我认为 Solr 通配符用“0 或多”比“1 或多”更好地概括。我怀疑这就是你的问题的根源。 (例如,参见 the javadocs for WildcardQuery 。)

其次,您是否使用词干提取,因为我的第一个猜测是您正在处理词干提取问题。 Solr 通配符在词干提取方面可能表现得有些奇怪。这是因为通配符扩展基于搜索存储在倒排索引中的术语列表;这些术语将采用词干形式(可能类似于“gatorad”),而不是原始源文本中的词(可能是“gatorade”或“gatorades”)。

例如,假设您有一个词干分析器,将“gatorade”和“gatorades”映射到词干“gatorad”。这意味着您的倒排索引不会包含“gatorade”或“gatorades”,只包含“gatorad”。如果您随后发出查询 gatorade*,Solr 将遍历术语索引以查找所有以“gatorade”开头的词干。但是没有这样的词干,所以你不会得到任何匹配。同样,如果您搜索 gatorades*,Solr 将查找所有以“gatorades”开头的词干。但是没有这样的词干,所以你不会得到任何匹配。

第三,为了获得最佳帮助,我建议发布更多信息,特别是:

  • 您提交给 Solr 的一些特定查询 URL
  • 摘自您的 schema.xml 文件。特别是,包括 A) 您遇到问题的字段的字段元素,以及 B) 与这些字段对应的字段类型定义
  • 关于Solr 查询结果使用 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2595420/

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