Lucene.Net手动查询未返回预期结果

时间:2016-04-13 08:47:45

标签: c# .net lucene lucene.net full-text-indexing

我在Lucene.net中创建一个booleanquery,以便在多个字段中搜索多个值。

运行以下构造的查询(返回+ CustomerId:5)将返回结果。

var booleanQuery = new BooleanQuery();
        Query query = new TermQuery(new Term("CustomerId", "5"));
        booleanQuery.Add(query, Occur.MUST);

运行此其他查询

var booleanQuery = new BooleanQuery();
        Query query = new TermQuery(new Term("CustomerId", "5"));
        booleanQuery.Add(query, Occur.MUST);
        Query query1 = new TermQuery(new Term("Make", "Subaru"));
        booleanQuery.Add(query1, Occur.MUST);

返回(+ CustomerId:5 + Make:Subaru)返回0结果,即使我可以从第一个查询中看到两个条件都可以满足。据我所知,这应该工作。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

以防万一其他人的查询出现问题,感觉我的看起来是正确的。需要使用小写字母对字段值进行搜索。使用标准分析器,这就是数据的索引方式。