首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lucene BooleanQuery等于/in

lucene BooleanQuery等于/in
EN

Stack Overflow用户
提问于 2010-02-24 20:55:20
回答 1查看 985关注 0票数 2

我在lucene中使用"equals“运算符进行搜索,实现方式如下:

代码语言:javascript
复制
return new TermQuery(new Term(getName(), getValue()));

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

这是有效的。

但是,如果我使用一个用BooleanQuery实现的"in“运算符,比如;

代码语言:javascript
复制
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‘或破折号的长度可能是问题所在。(使用BooleanQuery时,我使用token将其保存在db中)。

有什么线索吗?

编辑:奇怪的是:-这是使用"in“(布尔查询):25c20c21-bd88-4a6d-aa02-209b5fb6fb11 -这不是使用它:YADA-ut5de9-8813-4361-be88-55695ddfaa00

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-04 03:34:17

对我来说很奇怪的解决方案,但是……就是这样:)

lucene中的单词被索引为小写:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2326089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档