LINUX.ORG.RU

Elasticsearch 1.0

 ,


3

4

Выпущена версия 1.0 Elasticsearch — сервера полнотекстового поиска и выполнения аналитических запросов в реальном времени. Elasticsearch представляет возможности распределения нагрузки по группе узлов с функциями отказоустойчивости; простой REST API с клиентами для большого количества языков; поддержку произвольного количества индексов и операций над группами индексов; работу в режиме без четко определенной схемы хранения данных. Elasticsearch построен на базе библиотеки Apache Lucene и распространяется под лицензией Apache 2.

Версия 1.0 находилась в разработке около 9 месяцев и включила более 8000 коммитов, созданных при участии более 180-ти контрибьюторов.

В этой версии (по сравнению с прошлой стабильной версией 0.90) были добавлены следующие функции:

  • Snapshot/Restore — набор API для создания backup'ов и восстановления индексов. Помимо локальной файловой системы, для хранения backup'ов может использоваться HDFS или Amazon S3.
  • Aggregations — новое семейство аналитических запросов. Функции построены на базе «фасетов» и дополнительно включают возможности вложенных агрегатов и комбинации агрегатных функций.
  • Distributed Percolation — новая реализация «percolator», «обратной» версии поиска. В этом режиме в индексе сохраняются поисковые запросы, а через API поступают новые документы, которые фильтруются через эти сохраненные запросы. Новая реализация позволяет распределять поисковую работу над одним документом по многим узлам, поддерживает функции подсветки совпадений, аналитические запросы и пакетный режим работы.
  • cat API — набор функций API, оптимизированных для использования в текстовой консоли. Предназначены для администрирования и поиска/исправления проблем на кластере.
  • Federated search — специальный узел, способный одновременно быть членом нескольких не связанных между собой кластеров. Позволяет распределять по разным кластерам большую часть операций поиска и индексирования.

Изменения, которые необходимо учесть при обновлении с версии 0.90, описаны в документации.

>>> Подробности

★★★★★

ниче такая библиотечка поиска на полмиллиона строк кода.

crowbar ()
Ответ на: комментарий от mega_venik

А как в нём с CJK? Fuzzy-search есть?

Есть большая часть того, что умеет Lucene. Fuzzy search точно есть, а CJK я не интересовался, не знаю.

maxcom ★★★★★ ()

вроде классная штука, но пока не пробовал, как то сфинкса хватает.

umren ★★★★★ ()
Ответ на: комментарий от maxcom

А вроде когда-то на лоре Solr был? А почему перешли? Сам использую Solr.

goingUp ★★★★★ ()

выполнения аналитических запросов в реальном времени

Судя по написанному в документации, никаким «реальным временем» не пахнет даже близко, не описано там никаких решений, которые могут дать быструю агрегацию. Для поиска может подойдет, но на аналитику, имхо, они зря тратят время с таким подходом.

ForwardToMars ()

хорошая штукенция, использовал 0.90 в как backend для GrayLog2

jekader ★★★★★ ()
Ответ на: комментарий от cetjs2

ухаха!)) не дождетесь! здесь годами ничего не меняется)))

Indexator ★★★ ()
Ответ на: комментарий от maxcom

Я на 1.0 уже пару месяцев сижу. Оно субъективно стабильнее 0.90.7. Ури хлестался, что оно и быстрее стало.

romanovsky ()

Пока посижу на 0.90, может после релиза проапдейтимся

val-amart ★★★★★ ()

Java? Не нужно. Есть Apache Lucy (не путать с Lucene) на кошерной сишечке.

anonymous ()
Ответ на: комментарий от maxcom

Похожие темы не так давно появились ведь? Помню, раньше не было...

BattleCoder ★★★★★ ()

простое REST API

API — мужского рода.

Apple-ch ★★ ()
Ответ на: комментарий от goingUp

Хотелось получить опыт использования Elasticsearch. Для l.o.r в принципе не важно solr или эластик, так как узел один и не нужны всякие сложности вроде партиционирования индекса.

maxcom ★★★★★ ()
Ответ на: комментарий от maxcom

Для l.o.r в принципе не важно solr или эластик, так как узел один и не нужны всякие сложности вроде партиционирования индекса.

вот у меня два поисковых сервера, как раз elastic и solr, solr используется для пяти сайтиков на drupal'е, elastic для одного на джанге. Нагрузки большой вроде не предвидится, соответственно и кластеризации тоже. Я правильно понимаю, что раз нет кластеризации, то и разницы нет, и эластик можно выкинуть смело?

RedPossum ★★★★★ ()

А зачем нужен Эластик, когда есть Lucene/Solr?

Что используется для хранения индекса - Lucene с его системой, когда индекс может обновить только одна нода, или что-то более продвинутое?

VoDA ★★ ()
Ответ на: комментарий от VoDA

Что используется для хранения индекса - Lucene с его системой, когда индекс может обновить только одна нода, или что-то более продвинутое?

Индекс режется на части и распределяется по узлам. Плюс еще есть репликация, т.е. копии индекса могут хранится на нескольких узлах одновременно.

maxcom ★★★★★ ()
Ответ на: комментарий от maxcom

но ведь это можно не менее удобно сделать на чистом lucene и без эластика?

val-amart ★★★★★ ()
Ответ на: комментарий от VoDA

а что его хранит куски индекса? HDFS?

Локальная файловая система, на каждом узле своя. Там есть еще какие-то варианты для облачных провайдеров, но я туда не копал

maxcom ★★★★★ ()
Ответ на: комментарий от val-amart

но ведь это можно не менее удобно сделать на чистом lucene и без эластика?

можно, но это довольно объемная задача

maxcom ★★★★★ ()
Ответ на: комментарий от val-amart

но ведь это можно не менее удобно сделать на чистом lucene и без эластика?

Это вариант для тех, кто не боится писать код.

anonymous ()

В чятик призывается дух Луговского.

anonymous ()

гуглокапец?

ЗЫ Не понял по каким данным и в какой форме они хранятся...

I-Love-Microsoft ★★★★★ ()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)

Круто, надо будет обновить, вместе с logstash и kibana.

Hoodoo ★★★★★ ()

люблю опенсорс, но уже внедрил и окупил Splunk. Умеет намного больше из коробки и в реальном времени.

anonymous ()

А как он в сравнении со стариком sphinx? Кто что скажет?

ChAnton ★★ ()
Ответ на: комментарий от anonymous

люблю опенсорс, но уже внедрил и окупил Splunk. Умеет намного >больше из коробки и в реальном времени.

Насчет «намного больше»-это несколько преждевременное заявление, которое не совсем соответствует действительности. К тому же понятие «из коробки» непременно тянет за собой неприятный шлейф, включающий в себя целый комплекс выводов. Таких как некомпетентность пользователей, небезопасность использования итд итп...

ChAnton ★★ ()
Последнее исправление: ChAnton (всего исправлений: 2)
Ответ на: комментарий от ChAnton

Фантазёры, любящие позагибать пальцы и отодвинуть сроки, слава Богу, не привлекались. Хватило привлечения архитекторов от вендора и стека процессов поддержки и развития, отданных в эксплуатацию.

anonymous ()
Ответ на: комментарий от anonymous

Фантазёры, любящие позагибать пальцы и отодвинуть сроки, >слава Богу, не привлекались. Хватило привлечения архитекторов >от вендора и стека процессов поддержки и развития, отданных в >эксплуатацию.

Да я не о разработчиках, а о тех, кто эсплуатирует. Не надо преувеличивать значимость проприетарщины. В ней одни минусы, когда начинаешь касаться всех перечисленных ранее аспектов.

ChAnton ★★ ()
Ответ на: комментарий от val-amart

пробовали использовать Lucene как библиотеку, вот только есть уйма нюансов, если просто посторить индекс внутри приложения особой разницы нет, кроме скорости индексирования, так как elasticsearch многопоточный и позволяет использовать ресурсы на 100%, а вот когда вы захотите перестраивать индекс и чтобы поиск при этом продолжал работать или сделать приложение более легким и вынести поиск в сервис, что вполне логично, обеспечить ha и балансировку, backup restore, начнете использовать фильтры для увеличения скорости поиска, то в определенный момент поймете что пишете свой elasticsearch...

kem ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.