Я пытаюсь выбрать правильное решение для индексирования/поиска для моего приложения Rails 4. До сих пор я рассматривал Sunspot (Solr) и Thinking Sphinx (Sphinx), но, читая документацию по обоим, я не уверен, могут ли они удовлетворить мой прецедент.Поисковая система для вложенных группировок/граней
Для упрощения, скажем, у меня есть «Овцы» и «Стадо» в моей модели. Каждая овца принадлежит ровно одному стаду.
Я хотел бы представить пользователю интерфейс запроса, который позволяет указать критерии для овец и стада. Результаты поиска группируются стадом. Часть критериев должна работать как грани, информируя пользователя о том, сколько овец/стад он найдет, когда он определит определенное значение для фасета.
QUERY ИНТЕРФЕЙС
Sheep criterions
Name: _____________
Color
[ ] Black (14)
[X] White (36)
Age: Between [ ] and [ ]
Herd criterions
Description contains: _____________
Country
[ ] Australia (12)
[ ] Germany (10)
[ ] Sealand (1)
РЕЗУЛЬТАТЫ
+ Herd 37 (Australia) with 12 matching sheep (15 total)
+ Herd 10 (Germany) with 20 matching sheep (27 total)
- Herd 42 (Sealand) with 1 matching sheep (1 total)
Sad lonely white sheep
+ Herd 11 (Germany) with 3 matching sheep (7 total)
Так что я хотел бы сделать граненый поиск на овец, группировать их по стаду, а затем сделать еще один граненый поиск по результатам. Возможно ли это в Solr, Sphinx или еще одной поисковой системе, которая может быть объединена с рельсами?
Я считал дублирование атрибутов стада в овцах - по крайней мере, для индексирования - но казалось, что это вызовет огромные накладные расходы.
Thorsten получил все правильно - то, что вы хотите сделать, безусловно, будет возможно с Solr/Sunspot и Sphinx/Thinking Sphinx, и я уверен, что с ElasticSearch тоже достаточно легко. Выберите библиотеку, которая вам нравится, и дайте ей вращаться. – pat