Nitin Varpe
Nitin Varpe

Reputation: 10694

Lucene.Net filter not working with boolean value

I have stored products' showonhomepage value as

doc.Add(new Field("ShowOnHomePage", p.ShowOnHomePage.ToString(), Field.Store.YES, Field.Index.ANALYZED));

And trying to get results depending on that parameter like below

if (categoryId != 0)//this filter is working well
           {
               TermQuery catQuery = new TermQuery(new Term("CategoryId", categoryId.ToString()));

               BooleanQuery innerBooleanQuery = new BooleanQuery();
               innerBooleanQuery.Add(new BooleanClause(catQuery, Occur.SHOULD));

               finalQuery.Add(innerBooleanQuery, Occur.MUST);
           }

//Following filter gives result of both products i.e with ShowOnHomePage true or false
 TermQuery showOnHomePageQuery = new TermQuery(new Term("ShowOnHomePage", true.ToString()));
           finalQuery.Add(showOnHomePageQuery, Occur.MUST);

Any help?

Upvotes: 0

Views: 567

Answers (1)

Nitin Varpe
Nitin Varpe

Reputation: 10694

Following small edit worked

TermQuery showOnHomePageQuery = new TermQuery(new Term("ShowOnHomePage", true.ToString().ToLower()));

Upvotes: 2

Related Questions