Поддержка полнотекстового поиска в приложениях Java и PHP

Мое приложение построено на Java (версия 1.8) с каркасом hibernate 5.2 а также PHP (версия 7.0) с фреймворком laravel 5.2.
Я хочу применить полнотекстовый поиск как Эластичный поиск, TNTSearch, Laravel Scout.

Проблема:

В таблицы базы данных очень часто вставляются и обновляются оба приложения (Java и PHP). Но, согласно моей информации, любой алгоритм поиска работает, когда операция CRUD выполняется одним приложением (либо Java, либо PHP), так как я обнаружил эту проблему при попытке применить полнотекстовый поиск.

Я прав или нет?

Помогите мне, что мне делать в этом случае. Я ценю весь ответ.

Спасибо, впереди.

1

Решение

Вы должны перенаправить свои грубые операции в вашу поисковую систему, чтобы данные там совпадали с данными в вашей БД.

Тогда поиск — это совершенно другая операция, которая не будет включать вашу БД, а только поисковую систему, которую вы используете.

1

Другие решения

Что вам нужно, это слой между вашей базой данных и вашим приложением. Давайте назовем это слоем CRUD. Теперь слой CRUD будет REST API, написанным на PHP или Java, это ваш выбор. Слой CRUD будет отвечать за запись в базу данных и соответственно обновлять индекс полнотекстового поиска.

После того, как у вас есть этот слой, все ваши операции crud сначала попадут на этот слой, независимо от того, поступают ли запросы от Java, PHP или любого другого языка.

1

По вопросам рекламы [email protected]