All,
I noticed what I think is a regression in 1.2.1 from 0.90.9 where the order
of fields for highlighting is not preserved as it was in 0.90.9
For example, with a query where highlighting is defined such as
"highlight" : {
"require_field_match" : true,
"type" : "mycustomhighlighter",
"options" : {
"number_of_fragments" : 0,
"fragment_size" : 0
},
"fields" : {
"field1" : { },
"field2" : { },
"field3" : { },
"field4" : { },
"field5" : { },
"field6" : { }
}
In 0.90.9 the order in which fields would be highlighted would be field1,
field2, field3, field4, etc. In 1.2.1 it's arbitrary. I believe the cause
is the use of a HashMap vs using a LinkedHashMap in the constructor
of SearchContextHighlighter.java causing the insertion order to be lost.
The reason why I want order preserved is that I have a custom wrapping
highlighter to FVH that highlights only the first n fields (the ones most
likely to have hihglighting) and will only continue highlighting the
remaining fields (potentially hundreds) if no highlighting happened for the
initial set of fields. Doing this allows searches to execute very quickly
on average and only occasionally taking the hit of attempting to highlight
everything resulting in a 8-10x faster query on average.
All the best,
Bruce Ritchie
--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/919a7228-0cfe-42a6-a542-be8c83fbe044%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.