Сравнение стоимости с использованием Solr - PullRequest
0 голосов
/ 12 марта 2011

Я планирую создать что-то вроде pricegrabber.com/google для поиска товаров.

Предположим, у меня уже есть данные в огромной таблице. Я планирую представить все это Solr. Это решает проблему поиска. Однако я не уверен, как сделать сравнение. Я могу сделать групповой запрос (в UPC / SKU) для продуктов, возвращаемых Solr в БД. Однако я не хочу этого делать. Я хочу каким-то образом получить мне данные о сравнении товаров и результаты поиска в самом Solr.

Как вы думаете, какой должна быть моя схема? Как вы думаете, этот вариант использования может быть решен с помощью Solr / Sphinx?

1 Ответ

1 голос
/ 12 марта 2011

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

В Solr эта функция недоступна ни в одной версии выпуска и находится в стадии разработки. Если вы хотите использовать неизданную версию Solr, тогда получите подробности здесь .

Sphinx поддерживает группировку результатов, и я давным-давно использовал ее в аналогичном проекте. Вы можете получить более подробную информацию здесь .

Альтернативной стратегией может быть предварительная обработка данных, чтобы в индекс вставлялась только одна запись на UPC / SKU. Каждая запись может иметь отдельное поле, содержащее идентификаторы всех элементов с одинаковыми UPC / SKU.

Создание базы данных GROUP BY для продуктов, возвращаемых Solr, может быть недостаточным. Например, если продукты A и B имеют одинаковый UPC и определенный запрос соответствует A, но не B, вы не получите и A, и B в наборе результатов.

...