【发布时间】:2019-03-04 17:08:01
【问题描述】:
我试图根据 lucene 索引搜索大量名称(10000+),这些名称是从文本文件中加载的。 这是我的代码的 sn-p:
Analyzer analyzer = new StandardAnalyzer();
MultiFieldQueryParser mParser = new MultiFieldQueryParser(arrSearchFields,
analyzer);
Query keyWordsQuery = mParser.parse(names);
- 首先我得到错误:太多布尔子句 在 org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:118)
作为在互联网上搜索,我可以通过
BooleanQuery.setMaxClauseCount(Integer.MAX_VALUE);
但是搜索速度很慢,而且占用大量内存。
对这个案例有什么建议吗?
欣赏它。
詹姆斯
【问题讨论】:
-
arrSearchFields和names变量中有什么? -
你的索引里面有什么?
-
我正在使用lucene构建索引; arrSearchFields 是一个数组,用于保存正文、附件等多个字段
标签: lucene keyword-search booleanquery