Я только что скачал и установил последнюю версию Elasticsearch на свой компьютер с Windows. Я сделал свои первые поисковые запросы, и все, казалось, работало нормально. Однако. когда я пытаюсь выделить результаты поиска, у меня ничего не получается. Итак, вот как выглядит мой запрос:
$params = [
'index' => 'test_index',
'type' => 'test_index_type',
'body' => [
'query' => [
'bool' => [
'should' => [ 'match' => [ 'field1' => '23' ] ]
]
],
'highlight' => [
'pre_tags' => "<em>",
'post_tags' => "</em>",
'fields' => (object)Array('field1' => new stdClass),
'require_field_match' => false
]
]
]
$res = $client->search($params);
В целом сам запрос работает хорошо - результаты фильтруются. В консоли я вижу, что все документы действительно содержат значение "23" в своем поле field1
. Однако эти теги - <em></em>
просто не добавляются к результату. То, что я вижу, это просто необработанное значение в field1
, например «some text 23
», «23 another text
». Это не то, что я ожидаю увидеть - "some text <em>23</em>
", "<em>23</em> another text
". Итак, что с этим не так и как я могу это исправить?
pre_tags
иpost_tags
могут ожидать массив... можете ли вы попробовать обернуть оба вem
строки в[]
? - person Sam   schedule 01.11.2016curl
.) Работает ли подсветка? - person Andrei Stefan   schedule 01.11.2016