2009-09-16 16 views
0

J'utilise Lucene avec Alfresco. Voici ma question:Problème de requête lucene

 
(TYPE:"{com.company.customised.content.model}test" && (@\{com.company.customised.content.model\}testNo:111 && (@\{com.company.customised.content.model\}skill:or)) 

Je dois rechercher des documents qui ont des compétences de propriété de valeur "or". La requête ci-dessus ne donne aucun résultat (je n'arrive pas à analyser la requête).

Si j'utilise la requête jusqu'à testNo (en ignorant skill), je suis d'obtenir des résultats appropriés:

 
(TYPE:"{com.company.customised.content.model}test" && (@\{com.company.customised.content.model\}testNo:111)) 

Pouvez-vous s'il vous plaît me aider?

Merci

Répondre

2

Malheureusement, "or" est un mot-clé réservé dans Lucene. Par conséquent, Lucene ne parvient pas à interpréter correctement votre requête, car Lucene pense que vous faites référence au OR boolean operator. Vous pouvez essayer envelopper le or entre guillemets:

 
(TYPE:"{com.company.customised.content.model}test" && (@\{com.company.customised.content.model\}testNo:111 && (@\{com.company.customised.content.model\}skill:"or")) 

Je ne suis pas familier avec Alfresco, de sorte que vous ne pouvez pas être en mesure de le faire.

0

Oui, ou est un mot-clé réservé dans lucene mais si vous essayez d'interroger par propriété qui est de type numéro alors vous pouvez donner votre valeur directement sinon si de type d: texte ou chaîne de sorte que vous devez donner votre valeur en guillemets doubles "".

(TYPE: "{} com.company.customised.content.model test" & & (@ {} com.company.customised.content.model testNo: 111 & & (@ {com.company.customised. content.model} skill: "or"))