2010-05-13 14 views
3

"Ma recherche retourne un fragment en surbrillance dans un champ, je veux savoir que dans ce champ de document recherché, où commence et se termine ce fragment?" Par exemple,Obtenir l'index de début et de fin d'un fragment surligné dans un champ recherché

. Je considère "en surbrillance fragment" dans les lignes ci-dessus (considérer le paragraphe ci-dessus comme document unique).

Je suis en train de me fragmenter comme:

SimpleFragmenter fragmenter = 
      new SimpleFragmenter(30); 

maintenant la sortie de GetBestFragment est un peu comme: "retourne un fragment surligné de"

Est-il possible d'obtenir le indice de début et de fin de ce fragment dans le texte au dessus (disons que le début est 10 et la fin est 45)

Répondre

1

Le Surligneur ne renvoie pas cette information lorsque vous utilisez les méthodes getBestFragment. Derrière la scène, le Surligneur utilise la classe TokenGroup pour obtenir l'index de début et de fin de chaque fragment. Vous pourriez probablement utiliser cette classe.

+0

En fait, cet indice était très utile. désolé pour une réponse vraiment tardive. Merci – Umer

0

Je l'ai fait il y a quelques mois. Vous devez construire personnalisé Formatter et Encoder. Fondamentalement, à l'intérieur du surligneur, le formateur traite les jetons choisis pour la mise en évidence, tandis que l'encodeur traite le reste des jetons. Dans votre cas, vous avez besoin de l'encodeur pour émettre le vide chaque fois qu'il est appelé, et le formateur pour émettre l'index de départ et l'index de fin. Ils sont en effet stockés dans le TokenGroup des parties surlignées. Votre surligneur doit être construit en utilisant ces formateurs et encodeurs personnalisés.

+0

pouvez-vous s'il vous plaît poster un échantillon de code – Midhat