|
elasticsearch + hibernate search
|
|||
---|---|---|---|
#18+
Собссно вопрос следующий. хибернейт серч использует эластик как просто хранение в индексе только лишь энтити айди и списка полей по которым надо делать собссно серч. когда он по этим полям находит сущности он из них выдирает энтити айди и и сними идет в рдбмс и вытаскиывает по айди сущности оттуда. мне кажется, это оверхедом и хотелось бы разорвать связь базы на чтение с эластиком. оставить только запись. но мне нравится то что в ХСе уже всё готово и руками особо ничего делать не надо. собственно вопрос, можно ли сделать в хибер-серче ТАК, чтоб объект полностью кидался в индекс эластика (понятно надо заиндексировать нужные поля) и брался только лишь оттуда? или ручками всё? вообще, насколько обоснован такой подход? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 11:37 |
|
elasticsearch + hibernate search
|
|||
---|---|---|---|
#18+
мне кажется, что это несколько порочный подход превращать ЕС в носкл хранилище, и для этого есть более правильные решения с точки зрения архитектуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 11:41 |
|
elasticsearch + hibernate search
|
|||
---|---|---|---|
#18+
andreykaT мне кажется, что это несколько порочный подход превращать ЕС в носкл хранилище, и для этого есть более правильные решения с точки зрения архитектуры. - правильно или нет, Вам решать - важно понимать что транзакций, при использовании ES в качестве основного хранилища, не будет ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 13:02 |
|
elasticsearch + hibernate search
|
|||
---|---|---|---|
#18+
andreykaT Собссно вопрос следующий. собственно вопрос, можно ли сделать в хибер-серче ТАК, чтоб объект полностью кидался в индекс эластика (понятно надо заиндексировать нужные поля) и брался только лишь оттуда? Зачем тогда Хибернейт?! :-) Вообще Elasticsearch он скорее для полнотекстового поиска. Когда нужно что-то искать в больших строках и/или CLOB-ах. В противном случае имеет смысл смотреть на индексы. Либо представлять объекты в виде JSON-ов. Но там совсем другая история. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 14:47 |
|
elasticsearch + hibernate search
|
|||
---|---|---|---|
#18+
ну конструкция следующая. есть несколько сервисов. один складывает данные в базу. другой из базы по разным атрибутам (полнотекстовый поиск) и разным запросам поиска тащит эти сущности на клиенты. в общем, работает вполне банально - складываем в рдбмс, и копию того же объекта кладем в индексы еластика. далее два пути для второго сервиса. путь 1 - юзаем хибер серч. и не паримся что там за магия внутряшке (а внутри следующее - оно делает поиск по индексу в эластике, выдирает айдихи энтити, и по ним достает объекты из рдбмс через хибер-орм.) путь 2 - пишем свою логику вокруг эластик апи -- достаем оттуда сущность целиком (тот же джейсон, да), мапим этот джейсон объект и отдаем его куда нибудь или сразу джейсоном и отдаем дальше. чем мне нравится путь 1 -- ну типа там всё готово. аннотационное программирование. всё как Майтон любит (но это не точно). готовый фреймворк который в большинстве случаев сделает тебе хорошо. чем мне не нравится путь 1 -- мы имеем зависимость над рдбмс, зачем она. как мне аргументировать что она нужна? чем мне нравится путь 2 -- мы не имеем зависимость на рдбмс и не грузим ее (хотя можно ходить на реплики в конце-концов) чем мне не нраится путь 2 -- эээ. надо всё писать самому. писать много и нудно и уже есть тот же хибер серч. а ты свои баги будешь ловить и править еще десятилетие. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 16:51 |
|
elasticsearch + hibernate search
|
|||
---|---|---|---|
#18+
Kachalov andreykaT мне кажется, что это несколько порочный подход превращать ЕС в носкл хранилище, и для этого есть более правильные решения с точки зрения архитектуры. - правильно или нет, Вам решать - важно понимать что транзакций, при использовании ES в качестве основного хранилища, не будет если ты так говришь, то, как минимум, означает, что оба варианта имеют право на существование. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 16:55 |
|
elasticsearch + hibernate search
|
|||
---|---|---|---|
#18+
andreykaT Kachalov - правильно или нет, Вам решать - важно понимать что транзакций, при использовании ES в качестве основного хранилища, не будет если ты так говришь, то, как минимум, означает, что оба варианта имеют право на существование. - все возможно, например с помощью Spring Data Elasticsearch The Spring Data Elasticsearch project provides integration with the Elasticsearch search engine. Key functional areas of Spring Data Elasticsearch are a POJO centric model for interacting with a Elastichsearch Documents and easily writing a Repository style data access layer. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 17:27 |
|
elasticsearch + hibernate search
|
|||
---|---|---|---|
#18+
увы, но мне нельзя юзать спринг. только кварк или сам пиши обвязку под апи. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 17:45 |
|
elasticsearch + hibernate search
|
|||
---|---|---|---|
#18+
andreykaT увы, но мне нельзя юзать спринг. только кварк или сам пиши обвязку под апи. Тогда вопрос - зачем?! Зачем что-то делать, если можно не делать? После того, как вы ответите на этот вопрос, решение будет найдено. ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2020, 06:38 |
|
elasticsearch + hibernate search
|
|||
---|---|---|---|
#18+
для работы с ES есть не плохой Jest Client возможно поможет! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2020, 10:03 |
|
|
start [/forum/topic.php?fid=59&msg=39986563&tid=2120724]: |
0ms |
get settings: |
4ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
30ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
251ms |
get tp. blocked users: |
2ms |
others: | 285ms |
total: | 585ms |
0 / 0 |