http://lucene.apache.org/java/2_3_1/api/core/org/apache/lucene/search/MultiPhraseQuery.html
对于“Microsoft app*”这个例子,他说使用IndexReader.term()
但这会返回TermEnum
,我该如何把它放进去MultiPhraseQueryParser
?
Edit :
或者有人告诉我如何搜索微软应用程序*比 7.5 GB 索引更好!
您需要迭代 TermEnum 才能获取术语。您可以迭代 TermEnum 以获取以“app”开头的术语,如下所示。
TermEnum te = reader.terms(new Term("field", "app"));
List<Term> termList = new LinkedList<Term>();
while(te.next()) {
Term t = te.term();
if (!t.field().equals("field") || !t.text().startsWith("app")) {
break;
}
termList.add(t);
}
Term[] terms = termList.toArray(new Term[0]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)