gpt4 book ai didi

java - Lucene 中多个单词的通配符查询

转载 作者:行者123 更新时间:2023-11-30 08:04:42 30 4
gpt4 key购买 nike

我正在开发一个示例 API,它接受要搜索的 ColumnNamevalue。 API 搜索并返回 XML 格式的相关结果。我正在使用 Lucene 的 StandardAnalyser。我有一个搜索短语 "Central West*" 用于 COMPANYNAME 字段。我的数据库中有 2 条记录,COMPANYNAME 字段设置为 "CentralWest"。当我使用上述搜索短语进行搜索时,我得到了这两条记录作为结果。但是,当我使用 "Central We*" 进行搜索时,我没有得到任何结果。我不知道那是我面临的问题。我认为使用 QueryParser 是最好的方法。是否没有办法为 StandardAnalyser 中的问题提供解决方案,我面临的问题是什么?

最佳答案

您正在使用 StandardAnalyzer 并获得短语 "Central West*" 但不是 Central We* 的结果。

首先:StandardAnalyzer 不拆分 CentralWest。因此,您不能将 CentralWest 与短语“Central West”匹配(WordDelimiter Filter 可以)。

您很可能正在使用不支持通配符的查询解析器。并且很少有查询解析器在像 ComplexPhraseQueryParser 这样的短语中支持通配符。 .

没有通配符支持,StandardAnalyzer 在“West*”和“West”之间没有区别,所以你有一个匹配项。 We*We 就像 we 一样,所以你没有对手。

关于java - Lucene 中多个单词的通配符查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35448437/

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