Java или Rest API для подключения серверного приложения к ElasticSearch

1

В настоящее время мы обновляем наш проект (приложение Spring MVC), основанный на Lucene 2.8, для ElasticSearch, поэтому в основном узкое место хранения индексов будет передано ElasticSearch.

Приложение теперь будет называть только ElasticSearch Server для операций CRUD по индексам, не будет нести зависимости и обязанности для управления документами Lucene, IndexWriter... в основном просто Json, а также покажет результаты поисковых запросов.

Мой вопрос: нужно ли нам (или получить преимущество) с помощью предложений API Java ElasticSearch вместо API-интерфейса Rest, потому что, насколько я понимаю (здесь ElasticSearch noob), Java API добавит только больше зависимостей кода (и maven) в приложении вместо того, чтобы просто выполнять вызовы REST, так как теперь все будет json.

Теги:
rest
elasticsearch

2 ответа

2
Лучший ответ

Elasticearch Java API обертывает построение запросов json, но вам лучше использовать java api, а не вручную json building, потому что в случае будущих обновлений гораздо легче обновить зависимость, чтобы найти json и найти ошибки, связанные с ним.

0

Обратите внимание, что elasticearch отлично подходит для действия чтения, однако, если вы хотите использовать синхронный процесс, такой как сервер REST, чтобы писать на эластичный, я обнаружил, что действия записи, как правило, терпят неудачу под давлением. Для действия записи у вас должен быть асинхронный процесс для обработки таких сбоев. Это, конечно, делает ваш API не атомарным, то есть если вы просто добавили ресурс, он не обязательно будет возвращен при запросе списка ресурсов, один раз, потому что действие записи может завершиться неудачно в первый раз и преуспеть только позже асинхронно, а во-вторых, потому что elasticsearch не в реальном времени, он "почти в реальном времени". Подводя итог, elasticsearch не может заменить вашу БД, он хорош только для больших или сложных поисков по вашим выходным данным.

Более подробную информацию о руководстве REST API можно найти в моем блоге: http://restafar.com/create-new-rest-server/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню