Il y a deux morceaux pour obtenir ce travail:
- Vous avez besoin des documents entrants à analyser correctement, de sorte que les mots individuels sont en jetons et indexées séparément
- La requête utilisateur doit être en jetons, et les jetons combinés avec l'opérateur
AND
.
Pour # 1, il y a un certain nombre de Analyzers et tokenizers que come with Lucene - un coup d'oeil dans le paquet org.apache.lucene.analysis
. Il y a des options pour beaucoup de langues différentes, stemming, mots d'arrêt et ainsi de suite. Pour le n ° 2, il existe de nombreux analyseurs de requêtes fournis avec Lucene, principalement dans le package org.apache.lucene.queryParser
. MultiFieldQueryParser
pourrait être bon pour vous: à besoin chaque terme d'être présent, il suffit d'appeler
QueryParser.setDefaultOperator(QueryParser.AND_OPERATOR)
Lucene in Action, bien que quelques anciennes versions, est toujours précise et extrêmement utile pour plus d'informations sur l'analyse et l'analyse des requêtes.