Je rencontre un problème avec Lucene.Net et un BooleanQuery. Ceci est mon code:Lucene.Net BooleanClause numéro
BooleanQuery query = new BooleanQuery();
String[] types = searchTypes.Split(',');
foreach (string t in types)
query.Add(new TermQuery(new Term("document type", t.ToLower())), BooleanClause.Occur.SHOULD);
Cela devrait essentiellement être une déclaration ou en passant par les documents qui ont un certain type, qui travaille lui-même. Cependant, j'ai aussi cette requête:
Query documentTitleQuery = new WildcardQuery(new Term("title", "*" + documentTitle.ToLower() + "*"));
query.Add(documentTitleQuery, BooleanClause.Occur.MUST);
Qui cherche des mots dans un titre. Ces deux requêtes fonctionnent toutes seules. Quand ils sont utilisés ensemble, il semble que Lucene traite le documentTitleQuery comme un OU. Ainsi, les deux requêtes doivent renvoyer des documents d'un type spécifique ET contenir des mots spécifiques dans le titre, mais il retourne tous les types qui ont des mots spécifiques dans le titre.
Merci, tout a fonctionné! –