2010-09-03 7 views
0

Salut à tous, je vais avoir un problème de la construction d'une requête Lucene compliquée en utilisant la QueryParser.Lucene.net Syntaxe de requête Parser Problème

Voici essentiellement ce dont j'ai besoin pour rechercher l'un des champs (autorisé): Ce champ stocke certaines séries de mots-clés spécifiant certains accès. Il pourrait ressembler à:

  1. -PPartners: TOUS
  2. -PLevel: TOUS

  3. -PRegion: ASIE, EUROPE, AMÉRIQUES

  4. -PAffiliate: GOOGLE

Donc, fondamentalement, pour chaque élément à rechercher, j'ai besoin de passer ces valeurs et voir si le résultat soit autoriser l'accès pour ceux-ci ou est non sécurisé pour chaque c atégorie

J'ai essayé d'utiliser la syntaxe suivante dans l'analyseur de requête, mais cela n'a pas fonctionné.

autorisés: (("PPartners: ALL" OU "PPartners: OEM") ET ("PLevel: ALL" ou "PLevel: Executive") ET ("PAffiliate: ALL" OU "PAffiliate: XCompany") AND (« PRegion: ALL » OU « PRegion: Amérique du Nord »))

J'ai fini avec aucun résultat, vous conseille la meilleure façon d'effectuer cette recherche? Merci,

Répondre

0

Qu'est-ce que l'analyseur utilisez-vous pour la QueryParser. Si les champs que vous recherchez sur ne sont pas analysé le QueryPaser utilise un analyseur il la chaîne de en minuscule requête, ils apprécient « ALL » ne correspondra jamais « all »