Как управлять двумя разными объектами в SOLR? - PullRequest
1 голос
/ 29 сентября 2011

У меня есть несколько разных сущностей, которые я хочу проиндексировать в SOLR, например:

  1. пользователи
  2. продукты
  3. блоги

Все схемы совершенно разные.
В моем приложении все ищут в разных местах.
Есть ли способ сделать это в одном ядре?Это правильный подход?
Является ли ядро ​​концептуальной эквивалентностью таблицы в реляционной БД (В этом случае ответ очевиден).

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Действительно зависит от того, как вы будете искать эти данные.Главный вопрос: Что вы будете искать?

Если вы будете искать товары (то есть результаты поиска будут продуктами), то разработайте схему для продуктов.Если вы ищете товары по пользователям или блогам, смоделируйте пользователей / блоги как динамические / многозначные поля.

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

Из Solr wiki :

Чем больше разнородных (разных видов данных) вы имеете в одном поле или в одноминдекс, тем менее он полезен.

Так что не вслепую складывайте все в одно ядро.Тщательно продумайте, каковы ваши сценарии поиска.

0 голосов
/ 29 сентября 2011

Вот несколько советов из Solr Wiki по Сведение данных в единый индекс . Ключ от данных выравнивания:

Этот тип подхода может быть особенно подходящим для ситуаций, когда вам нужно "смешать" результаты из концептуально различных наборов документов.

Если вы хотите проиндексировать свои три типа и оставить их разделенными и различимыми, вы можете использовать ядра в Solr, чтобы держать их в достаточной степени изолированными, но позволить вам управлять ими в одном контейнере Solr.

...