I am having problems with highlighting in the PHP API. We are running on ES 1.7.
If a use a
bool query for the search it does not return any highlighted results. The search itself works fine. However if a use a simple
match_phrase query the highlighting works.
Here is a sample code of the search body:
$params = [ 'index' => $index, 'type' => $type, 'body' => [ 'from' => ( (int)$offset * $this->getSearchResultSize() ), 'size' => $this->getSearchResultSize(), 'indices_boost' => $this->getIndicesBoosts(), 'sort' => $this->getSorting(), 'query' => [ 'bool' => [ 'must' => [ 'term' => [ '_all' => $query ], 'filter' => $this->getFilterConditions( $acl, $product, $spaceId ) ] ] ], 'highlight' => [ 'pre_tags' => ['<span class="search-highlight">'], 'post_tags' => ['</span>'], 'fields' => [ 'content' => [ 'force_source' => true, 'fragment_size' => 100, 'number_of_fragments' => 3 ] ], ] ] ];
If i replace the bool query with
'match_phrase' => [ 'content' => $query ]
I already tried using the same query as in the search as
highlight_query but that did not help either. Casting the
fields array to an object also did not help.
Is there any way I can get the highlighting work with the bool query?
EDIT: The same applies for aggregations.
Thanks for your help!