Avec Lucene, quelle serait l'approche recommandée pour localiser les correspondances dans les résultats de recherche? Plus précisément, supposons que les documents d'index ont un champ "fullText" qui stocke le contenu en texte brut d'un document. En outre, supposons que pour l'un de ces documents le contenu est "Le renard brun rapide saute par-dessus le chien paresseux". Ensuite, une recherche est effectuée pour "chien de renard". De toute évidence, le document serait un succès.Trouver la position des résultats de recherche de Lucene
Dans ce scénario, Lucene peut-il être utilisé pour fournir quelque chose comme les régions correspondantes pour le document trouvé? Donc, pour ce scénario, je voudrais produire quelque chose comme:
[{match: "fox", startIndex: 10, length: 3},
{match: "dog", startIndex: 34, length: 3}]
Je pense qu'il pourrait être mis en œuvre par ce qui est prévu dans le paquet org.apache.lucene.search.highlight. Je ne suis pas sûr de l'approche globale si ...
Le commentaire « cette partie ne fonctionne que s'il y a un terme Thr chaîne de requête ». Ma question suivante était: comment trouver quels termes correspondent à la requête (s'il s'agit d'une requête complexe (par exemple avec des caractères génériques), cette réponse comble bien ce vide: http://stackoverflow.com/questions/7896183/get-matched- terms-from-lucene-query – geert3