gpt4 book ai didi

java - lucene BooleanQuery 等于/in

转载 作者:行者123 更新时间:2023-11-29 09:25:36 25 4
gpt4 key购买 nike

我在 lucene 中搜索一个“等于”运算符,实现如下:

return new TermQuery(new Term(getName(), getValue()));

对于这样的值:customerID:YADA-UT-08ec5de9-8813-4361-be88-55695ddfaa00

这是有效的。

但是,如果我使用像 BooleanQuery 这样的“in”运算符;

final BooleanQuery booleanQuery = new BooleanQuery();
for (final String aValue : value) {
booleanQuery.add(new TermQuery(new Term(getName(), aValue)), BooleanClause.Occur.SHOULD);
}

它不会找到任何 YADA-UT-08ec5de9-8813-4361-be88-55695ddfaa00 的客户

经过大量测试后,我假设“YADA-UT-08ec5de9-8813-4361-be88-55695ddfaa00”或破折号的长度可能是问题所在。 (我使用 token 将其保存在数据库中)与 BooleanQuery 一起使用时。

有什么线索吗?

编辑:奇怪的是:- 这是使用“in”( boolean 查询):25c20c21-bd88-4a6d-aa02-209b5fb6fb11- 这不适用于它:YADA-UT-08ec5de9-8813-4361-be88-55695ddfaa00

找到解决方案:lucene 单词被索引为小写:)

最佳答案

对我来说很奇怪的解决方案,但是......仅此而已:)

the lucene words were indexed as lower case :)

关于java - lucene BooleanQuery 等于/in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2326089/

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