[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Elasticsearch (выходим за пределы памяти)
Страницы: 1, 2
Zzepish
Короче, я тут поковырял немного, и понял, что проблема в озу. Точнее в нехватке ее.
В эластике на проде около 12 миллионов записей с достаточно большими текстами (насколько новости вообще могут быть большими).
Выдает ошибку: java.lang.OutOfMemoryError: Java heap space
Сам запрос:
$params = [
'index' => 'my_index',
'type' => 'my_type',
'search_type' => 'dfs_query_then_fetch',
'size' => 10,
'body' => [
'query' => [
'bool' => [
'should' => [
[

'match' => [
'title' => $pn->title,
]
],
[

'match' => [
'text' => $pn->text,
]
]
],

'filter' => [
[

'range' => [
'created_at' => [
'gte' => $start_date,
'lte' => $end_date,
'format' => 'yyyy-MM-dd HH:mm:ss',
]
],
],
]
],
],
]
];



Мб у меня кривой запрос, или я что-то не так прописал? Или надо просто больше оперативы?
Локально у меня всего 27к записей, так-что я поставил ограничение жабы на 50 мегабайт, чтоб вообще мог выдать эту ошибку.


P.S. Запись в elastic происходит отлично
Zzepish
Короче, покурив вчера-же офф-доку понял, что для этой дичи минимум надо 16-32 гига для хорошей работы (в идеале - 64 гига). Было у нас 2 гига для кучи java, подняли до 16 - все гду
sergeiss
А я тебе сразу сказал, что у нас в конторе народ сильно ругается на эластик сёч smile.gif Так что еще проблемы будут.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zzepish
sergeiss
Так все только начинается)
Мне, по-ходу, надо делать отдельную тему во флуде "Тернистый путь по elasticsearch" biggrin.gif а то я тут оборачивание тегов решаю костылем )
sergeiss
Ежели бы мне надо было делать поиск... То "даю голову на отсечение" smile.gif, я бы лучше сам заюзал полнотекстовый поиск в Постгресе. Эластик его же и делает, но работает посредником между тобой и базой. Да еще со своими правилами и ограничениями. Нафиг оно надо?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zzepish
sergeiss
ну, врядли все-таки PG будет работать быстрее эластика. Эластик очень много чего хранит в оперативе. Кроме того - у него очень узкая специализация. Мб в PG и реально это все сделать, но ,с точки зрения масштабирования, лучше один лишний сервак запустить
Arh
sergeiss
Цитата
я бы лучше сам заюзал полнотекстовый поиск в Постгресе.

У меня как то с постгре не складывается, несколько раз пытались перейти на неё и почему то к mysql откатываемся)
И доктрина с ней к сожалению можно сказать что не работает.

Zzepish
Цитата
врядли все-таки PG будет работать быстрее эластика

Точно будет медленней.
У нас в проектах используются эластик и сфинкс. Оба хорошо ищут, но решили всё на эластик переводить.
Потому что там не только поиск, на нём можно и систему рекомендаций построить и какую нибудь нейросеть, и потому что json api. В базе это всё дорого делать.


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
DedMorozzz
Цитата (sergeiss @ 5.12.2018 - 00:26)
Ежели бы мне надо было делать поиск... То "даю голову на отсечение" smile.gif, я бы лучше сам заюзал полнотекстовый поиск в Постгресе. Эластик его же и делает, но работает посредником между тобой и базой. Да еще со своими правилами и ограничениями. Нафиг оно надо?

Привет, сравнивать эластик с поиском в постгре - не ок)
Перформанс эластика невероятный, на самом то деле, при этом есть уйма плюшек, которые БД не поддерживает, нестеды, скрипты и прочее


_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
DedMorozzz
Если вопрос цены хостинга не стоит ребром, то советую заюзать хостинг от самого эластика - http://elastic.co
Там сразу включается x-pack, удобный апдейт версий, изменение размеров кластера без даунтайма и прочее
Сам икс пакт стоит отдельно достаточно приличную сумму. С хостингом - входит в комплект

Хостится или на амазоне или на гугле, при создании кластера выбираешь где
Само собой можно выбрать что бы кластер был с репликой, выбрать зону расположения и прочее...
Цена за 64гб с 1й репликой, зона калифорния (самая дорогая, разнице процентов в 10-12) = $2,507.92 (58гб х 2)
К примеру 15гб х 2 = $662.18

х2 ибо имеется реплика данных, та же самая нода, с тем же самым кол-вом шард и одинаковыми данными


_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Zzepish
DedMorozzz
Спасибо за ссылку ) сбросил лиду - мб чего и решит выбрать )
Michael
Цитата (Zzepish @ 4.12.2018 - 22:03)
Мне, по-ходу, надо делать отдельную тему во флуде "Тернистый путь по elasticsearch" biggrin.gif

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

Кстати вы уже новые версии ее юзаете, там где разные типы в один индекс не складывают?

_____________
There never was a struggle in the soul of a good man that was not hard
Arh
Michael
Цитата
Кстати вы уже новые версии ее юзаете, там где разные типы в один индекс не складывают?

Ага, на 6й версии тип писать приходится, но он должен быть один везде.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Zzepish
Michael
Мы юзаем 5.6.13, ибо русская морфология
DedMorozzz
Цитата (Michael @ 5.12.2018 - 17:47)
Цитата (Zzepish @ 4.12.2018 - 22:03)
Мне, по-ходу, надо делать отдельную тему во флуде "Тернистый путь по elasticsearch" biggrin.gif


Кстати вы уже новые версии ее юзаете, там где разные типы в один индекс не складывают?

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

Но эластик как таковой - супер технология. Активно пару лет работаю с ним и он умеет многое но и добавляет свои ньансов массу

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Michael
Думаете для среднего типа сайтов, например как этот форум, или не сильно большой магазин, ставят ES?, будет он нормально работать на оперативе менее 16Gb, про которые в рекомендациях говорят.

_____________
There never was a struggle in the soul of a good man that was not hard
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.