Использование solr для индексации различных типов данных
Вопрос
Я рассматриваю возможность использования Apache solr для индексации данных в новом проекте.Данные состоят из разных независимых типов, что означает, что существуют, например
- растительные компоненты
- Животные
- Автомобили
- компьютеры
для индексации.Должен ли я использовать разные индексы для каждого из типов или имеет больше смысла использовать только один индекс?Как использование большого количества индексов влияет на производительность?Или есть какая-то другая возможность достичь этого?
Спасибо.
Решение
Оба подхода являются законными, но существуют компромиссы.Во-первых, насколько велик ваш набор данных?Если он достаточно велик, чтобы вы могли захотеть разделить его на несколько серверов, вероятно, имеет смысл иметь разные индексы.
Во-вторых, насколько важна производительность - индексация всего этого вместе, скорее всего, приведет к снижению производительности, но степень зависит от объема имеющихся данных и того, насколько сложными могут быть запросы.
В-третьих, есть ли у вас необходимость запрашивать несколько типов данных в одном поиске?Если это так, индексация всего вместе может быть удобным способом разрешить это.Технически это может быть достигнуто с помощью отдельных индексов, но получение наиболее релевантных результатов для запроса может оказаться сложной задачей (не то чтобы этого уже не было).
В-четвертых, единый индекс с единой схемой и конфигурацией может упростить жизнь тому, кто будет развертывать и обслуживать систему.
Еще одна вещь, которую следует учитывать, это идентификаторы - все ли различные объекты имеют уникальный идентификатор для всех типов?Если нет, то вам, вероятно, нужно будет сгенерировать это, если вы хотите проиндексировать их вместе.