[英]How to use MultiFieldQueryParser from Lucene?
我正在使用Version.Lucene_29
。 使用普通的字符串查询方法,我可以执行以下操作:
Directory directory = new FSDirectory(...);
//Start Lucene retrieval.
IndexSearcher iSearch = new IndexSearcher(directory, true);
Analyzer analyzer = new WhitespaceAnalyzer();
QueryParser parser = new QueryParser(Version.LUCENE_29, "content", analyzer);
String str = 'filename:testfile.txt AND filetext:"Singapore food"'
Query query = parser.parse(str);
ScoreDoc[] hits = iSearch.search(query, 1000).scoreDocs;
如何在Lucene中使用MultiFieldQueryParser触发查询,类似于字符串查询方法?
MultiFieldQueryParser multiParser = new MultiFieldQueryParser(
Version.LUCENE_29, new String[] {"content", "ne"}, analyzer);
str = ???
Query = ????
ScoreDoc[] hits = iSearch.search(query, 1000).scoreDocs;
MultiFieldQueryParser允许您使用相同的分析器在多个文件中搜索“WORD”。
例如
Query query = MultiFieldQueryParser.parse("development",
new String[]{"title", "subject"},
new SimpleAnalyzer());
它将在Field中寻找单词开发:“title”和Field:“subject”
MultiFieldQueryParser
是一个QueryParser
,在这种情况下, MultiFieldQueryParser
将两个查询创建为一个BooleanClause
。 所以它也支持filename:testfile.txt和filetext:“新加坡食品” 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.