Dans Highlighter.Net, nous pouvons utiliser NullFragmenter pour renvoyer tout le contenu du champ. Est-il possible de le faire dans FastVectorHighlighter.Net?Retour Champ entier de GetBestFragment dans FastVectorHighlighter
Répondre
N'est-ce pas une option d'utiliser simplement document.Get("field_name")
et de renvoyer tout le contenu du champ d'une telle manière? Vous avez probablement votre document quelque part dans le contexte de toute façon (comme vous avez besoin d'ID de document à GetBestFragment()
), alors pourquoi ne pas simplement l'utiliser?
Il existe un patch pour Java FVH qui prétend le faire. Je ne l'ai pas testé personnellement.
Si vous utilisez SimpleFragListBuilder -fragmenter pour FastVectorHighlighter alors besoin de modifier une des propriétés statiques publiques de fragmenter pour gérer la taille du fragment:
var fieldContent = "some data";
SimpleFragListBuilder.MARGIN = fieldContent.Length;
SimpleFragListBuilder.MIN_FRAG_CHAR_SIZE = SimpleFragListBuilder.MARGIN*3;
var result = highlighter.GetBestFragment(.., fragCharSize: SimpleFragListBuilder.MIN_FRAG_CHAR_SIZE);
(voir la source pour plus de détails - ' Lucene.Net 3.0.3 SimpleFragListBuilder.cs ' [http://lucenenet.apache.org/docs/3.0.3/dd/d38/_simple_frag_list_builder_8cs_source.html])
Je voudrais définir SimpleFragListBuilder.MIN_FRAG_CHAR_SIZE = 0 juste pour ne pas avoir à vous en préoccuper. Et en envoyant fragCharSize: desiredMaximumLength. – Valentin
il ne sera pas mis en évidence – Midhat
Vous pouvez envelopper ce contenu avec votre formattter html (je sais, c'est conceptuellement moche, mais parfois de telles choses sont inévitables). – buru
Le problème serait où insérer le formatter html. C'est tout le point d'utiliser le surligneur – Midhat