Elasticsearch - общие вопросы

Рейтинг: 1Ответов: 2Опубликовано: 10.03.2015
  • Как внедрять elasticsearch в веб, например для поиска пользователей по имени на базе Mysql?
  • Как добавлять в индекс новую информацию (например, если зарегистрировался новый
    пользователь)
  • Elastic поддерживает поиск только на основе Restful(URL) запросов?

Ответы

▲ 2Принят

1,2) добавлять данные в индекс (написать обработку + события на изменения)

3) Есть коннекторы на разных языках (я например ковыряю PHP). Их основная проблема, что работают они иначе чем при запросе к HTTP (массивы параметров, итп). Проблема для меня сейчас - разобраться с анализаторами - из коробки ищет только полные совпадения слов, анализаторы при применении ищут не так, как предполагается в документации.

▲ 2

Как внедрять elasticsearch в веб, например для поиска пользователей по имени на базе Mysql?

  • Добавление информации в индекс и поиск по индексу производятся с помощью простых HTTP запросов

Как добавлять в индекс новую информацию (например, если зарегистрировался новый пользователь)

  • Для примера создадим индекс пользователей хабра

Добавляем данные о первом пользователе

$ curl -XPUT 'http://localhost:9200/habrahabr/users/1' -d '{
   "firstname": "Piotr",
   "surname": "Petrov",
   "birthDate": "1981-01-01",
   "location": "Moscow, Russian Federation",
   "skills": ["PHP", "HTML", "C++", ".NET", "JavaScript"]
}'

Elastic поддерживает поиск только на основе Restful(URL) запросов?

  • Что же это такое?

По сути — это новый фронт-енд к широко известному индексу Lucene. Главное отличие от конкурентов — это гибкость и простота в использовании. Добавление информации в индекс и поиск по индексу производятся с помощью простых HTTP запросов.

Подробней, можно прочитать в статье habr Быстрый полнотекстовый поиск ElasticSearch