Вывод ограниченной части текста на предпросмотр


(Alexey) #1

Наверняка ответ есть в документации, но не знаю как правильно загуглить.

Я индексирую целиком весь документ. В нем много текста.

У меня есть менюшка поисковика, частично напоминающая гугл.
В ней должны выводиться часть текста найденых документов.
В данный момент я вывожу весь текст.

Но я хочу выводить 5 слов до и 10 слов после совпавшего слова или фразы (включая слова или фразу). Если таковые имеются.

Что мне надо почитать?

Сейчас я ищу вот таким запросом:

var self = this;
var textValue = self.searchTerm;

client.search({
index: 'rustest',
type: 'type1',
  body: {
    query: {
      match: {
        body: textValue
      }
    }
  }

(Igor Motov) #2

https://www.elastic.co/guide/en/elasticsearch/reference/2.3/search-request-highlighting.html


(Alexey) #3

У меня вот какой вопрос теперь...

Если у меня в одном документе на первой странице присутствует словосочетание и на а 17ой странице,
elastic у меня выводит документ только 1 раз в поиске.

Показывает первое словосочетание и то что на 17ой - уже игнорирует?

Могу я как то два раза отобразить этот документ в поиске?


(Alexey) #4

О, я понял.
В хайлайте массив возвращается.

Спасибо!)


(system) #5