Поисковая система Laravel

Я создаю REST api, используя Laravel для мобильного приложения. А теперь мне нужна поисковая система.

во-первых, я никогда не использовал любой поисковик. Поэтому я ищу тот, который прост в работе, но все еще хорош в полнотекстовом поиске и фильтрации "где"

таблица, в которой я хочу выполнять поиск, имеет 1 столбец (varchar45), который должен быть поиском по полнотекстовому поиску, а затем есть 5 столбцов (int), которые используются для фильтрации с помощью оператора "where".- Использование подход mysql. Я также выполняю внутреннее соединение на этой таблице, чтобы распечатать некоторые другие вещи при генерации результата.

Я посмотрел на сфинкс и Elasticsearch, и решил зайти с ES.

Я наблюдал, как ES intro формирует Laracon:https://www.youtube.com/watch?v=waTWeJeFp4A

и я также взглянул на этот пакет: https://github.com/freekmurze/searchindex

это оставило меня с несколькими вопросами:

1) я отбрасываю свою MySQL DB и просто храню все мои данные в ES?

2) если 1-Да, могу ли я использовать свою MySQL DB и просто использовать ES для хранения индексов? - Так как мне нужно выполнить поиск только на одной таблице (поиск в общей сложности 5 строк).

3 если 2-Да, я все еще сохраняю свои текущие индексы в моем таблица mysql? Например, полнотекстовый индекс на столбце заголовка, FK на другом столбце и индекс на 3 других.

4 поскольку это первый раз, когда я использую поисковую систему, есть ли какой-либо другой учебник/книга/фрагмент о том, как использовать ES с Laravel?

спасибо заранее

1 ответов


недавно я решал те же проблемы. Мое мнение:

1. нет. определенно держите свою БД для хранения данных. ES не был создан для замены вашей базы данных. это (в основном) поисковая система.

4. вы можете найти хороший учебник здесь:http://www.fullstackstanley.com/read/simple-search-with-laravel-and-elasticsearch (в качестве отправной точки).
Я предлагаю вам также прочитать http://www.elasticsearch.org/guide/en/elasticsearch/guide/ (чтобы лучше понять ES)