Lucene-将多字段查询与布尔查询结合 - c#

我在2个字段上使用MultiFieldQueryParser在Lucene索引上进行免费文本搜索,效果很好。以下是我如何构建搜索查询:

var searchParser = new MultiFieldQueryParser(_currentLuceneVersion, new[] { _titleField, _bodyField }, _standardAnalyzer);
Query searchQuery = searchParser.Parse(searchText);

现在,我添加了一个新字段,它是一个布尔值(字符串为1或0),我希望我的原始搜索对原始的自由文本搜索进行布尔过滤。

我认为这必须使用BooleanQuery进行,然后与原始MultiFieldQueryParser和新的BooleanQuery结合使用。

这是正确的方法吗?

参考方案

QueryFilter的“ false”值示例

QueryFilter falseFilter = new QueryFilter(new TermQuery(new Term("BOOL_FIELD", "0")));
searcher.search(query, falseFilter, maxResults);

找不到StandardAnalyzer类 - java

我已经下载了最新的Lucene 4.6.0和running it in netbeans。Lucence 3.6.x版本运行良好,但最新版本找不到org.apache.lucene.analysis.standard.StandardAnalyzer和IndexFiles.java,这行中显示错误:Analyzer analyzer = new Standa…

使用SolrIndexSearcher进行ID查询 - java

我想对SolrIndexSearcher进行id查询(使用其id从solr中获取多个文档)-类似于对SolrServer q =:&ids = ID1,ID2&fl = *的ID查询。我试图以几种方式调用search(Query,int)均未成功即TopDocs results = this.indexSearcher.search(QueryParsing…

在Heroku上进行休眠搜索 - java

我有一个在Heorku上运行的使用Spring + JPA + Hibernate构建的应用程序,并且我使用Hibernate-Search进行FullTextSearch。在本地计算机上,我将索引存储在文件系统上。我在persistence.xml中的配置。<property name="hibernate.search.default.d…

java.net.URI.create异常 - java

java.net.URI.create("http://adserver.adtech.de/adlink|3.0") 抛出java.net.URISyntaxException: Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0 虽然n…

java.net.UnknownHostException无法连接到ftp - java

我的ftp端口为:ftp://173.201.0.1/我正在尝试通过以下方式将其连接:String Ftp_Path = "ftp://173.201.0.1/"; public List<String> GetFileList() { String ftpServerIP = Ftp_Path; String ftpUser…