Как обрабатывать несколько таблиц MySQL с помощью DataImportHandler в Solr?

У меня есть 33 таблицы в MySQL. Около 20 таблиц будет использоваться в поиске. Что делать, чтобы обрабатывать и искать во всех этих таблицах? Я уже реализовал это, импортировав 1 таблицу, и произвел четкий поиск.

Но теперь я хочу искать во всех таблицах ..

Я создаю все новое ядро ​​для разных таблиц? Или я должен использовать JOIN запросы на импорт данных? Пожалуйста, дайте мне лучшие предложения.

3

Решение

Все зависит от ваших требований. Вы можете сделать оба способа: создать ядро ​​для отдельной таблицы или объединить несколько таблиц (рассмотрите 3-4 таблицы, которые связаны друг с другом) и индексировать данные в ядро.

Я хотел бы предложить пойти позже, где это минимизирует время поиска. Вы можете использовать DIH (Data Import Handler), где вы можете написать запрос на объединение (получить выбранные поля поиска, по которым вы хотите искать)
пара таблиц, которые имеют отношение. И когда у вас есть поиск в определенной области, вы можете искать в конкретном ядре.

Как я имею в своем заявлении, две основные области документа, деятельность.

У меня есть два разных основных названных документа и действия.

Я проиндексировал данные, относящиеся к документам, в ядре документа. когда есть запрос поиска из области документа, поиск выполняется по конкретному ядру, т.е. документу.

То же относится и к деятельности.

Несколько ядер позволяют вам иметь один экземпляр Solr с отдельными конфигурациями и индексами, с их собственной конфигурацией и схемой для очень разных приложений, но при этом имеют удобство унифицированного администрирования. Отдельные индексы по-прежнему достаточно изолированы, но вы можете управлять ими как одним приложением, создавать новые индексы на лету, раскручивая новые SolrCore, и даже заставить один SolrCore заменить другой SolrCore, даже не перезапуская ваш контейнер сервлетов.

для более подробной информации:
https://wiki.apache.org/solr/CoreAdmin

0

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

Других решений пока нет …

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