当我把多问与<条码>Lucene.net<>/code>(第29版)的Boolean Query结合起来时,我就遇到了问题。
请参看我编制索引的文件结构。
ID Make Model Price MakeDate CreatedBy
1 Ford Fiesta 240000 06/23/2011 anil
2 Ford Focus 250000 06/20/2011 anil
3 Vauxhall Astra 200000 06/21/2011 anil
4 Ford Focus LX 230000 06/21/2011 anilkumar
5 Ford Focus XI 260000 06/20/2011 anil
我的用意是获取包含<条码>福克斯/代码>的记录。 在任何领域,如模型或成像,领域和<代码>。 创建的By等于Anil
。
我提出以下询问。
WildcardQuery query4 = new WildcardQuery(new Term("Make", "*focus*"));
WildcardQuery query5 = new WildcardQuery(new Term("Model", "*focus*"));
var queryParser3 = new QueryParser(Version.LUCENE_29, "CreatedBy", analyzer1);
var query3 = queryParser3.Parse("anil");
objBool.Add(query3, BooleanClause.Occur.MUST);
objBool.Add(query4, BooleanClause.Occur.SHOULD);
objBool.Add(query5, BooleanClause.Occur.SHOULD);
在我执行时,实际上我只需要两个记录,即第二和第五。 但我只收到4份记录。
As per my understanding its returning the all the records which are CreatedBy
equals to Anil
.
请建议我如何取得必要的成果,以及需要作出哪些改变。