Based on my observation from the code , the problem may be in the below logic.
Only the last highlight builder finally gets set in SearchRequestBuilder.java
+ElasticSearchTemplate.java+
if (searchQuery.getHighlightFields() != null) {
for (HighlightBuilder.Field highlightField : searchQuery.getHighlightFields()) {
searchRequest.highlighter(new HighlightBuilder().field(highlightField));
}
}
+SearchRequestBuilder.java+
public SearchRequestBuilder highlighter(HighlightBuilder highlightBuilder) {
sourceBuilder().highlighter(highlightBuilder);
return this;
}
Mohamed Muhad opened DATAES-412 and commented
Please refer the detailed issue description in the stack over flow link
https://stackoverflow.com/questions/46752784/elastic-search-5-5-highlight-field-is-not-working
Summary :
When I add multiple highlighted fields to the NativeSearchQueryBuilder , only the last highlighted field is actually being sent to Elastic Search
Based on my observation from the code , the problem may be in the below logic.
Only the last highlight builder finally gets set in SearchRequestBuilder.java
+ElasticSearchTemplate.java+
if (searchQuery.getHighlightFields() != null) {
for (HighlightBuilder.Field highlightField : searchQuery.getHighlightFields()) {
searchRequest.highlighter(new HighlightBuilder().field(highlightField));
}
}
+SearchRequestBuilder.java+
public SearchRequestBuilder highlighter(HighlightBuilder highlightBuilder) {
sourceBuilder().highlighter(highlightBuilder);
return this;
}
Reference URL: https://stackoverflow.com/questions/46752784/elastic-search-5-5-highlight-field-is-not-working
Referenced from: pull request #204
Backported to: 3.0.7 (Kay SR7)
1 votes, 3 watchers
The text was updated successfully, but these errors were encountered: