Используйте SOLR для Mysql реляционной базы данных.Используйте SOLR только для таблицы продуктов - PullRequest
2 голосов
/ 03 февраля 2010

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

Я использую php с реляционной базой данных mysql для сайта покупок, где все таблицы связаны с таблицей продуктов, соединяющей таблицы по запросу. Излишне говорить, что это слишком медленно!

, например

  • Таблица категорий - catid, catname, catdesc
  • Фирменный стол - brandid, brandname, branddesc
  • Таблица продуктов - productid, наименование продукта, productdesc, catid, brandid
  • (я также использую диапазоны для ценовых диапазонов и т. Д.)

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

Если я просто переключу таблицу продуктов на использование SOLR, есть ли какие-либо предостережения по этому поводу?

например. В MySQL я могу сделать полнотекстовый поиск при присоединении к таблице бренда. Это также позволит искать бренды. Можно ли добиться того же самого, просто переключив таблицу продуктов на SOLR? Есть ли еще какие-то предостережения, на которые я должен обратить внимание?

Я также хотел бы создать новую таблицу для "поисков". Это позволило бы мне использовать ключевые слова в таблице mysql следующим образом:

Таблица поиска - searchterm (например, помада), синонимы (например, помада, губы и т. Д.)

т. это позволило бы мне выполнять поиск по нескольким терминам одновременно - хорошее время для использования фасетов SOLR, возможно, вместо того, чтобы сохранять результаты поиска в mysql?

Любая помощь приветствуется

1 Ответ

6 голосов
/ 03 февраля 2010

НЕ НУЖНО ПЕРЕКЛЮЧАТЬ

Вы не хотите «переключаться» - как и при полнотекстовой индексации в MySQL (или при использовании чего-то вроде Sphinx), полнотекстовый индекс отделен от таблиц базы данных.

То, что вы хотите сделать, это выяснить, что вы ищете, и индексировать это в Solr - это могут быть просто продукты. Это, конечно, легкий первый шаг.

В основном вы будете:

  • индексировать соответствующий столбец (столбцы) в Solr
  • используйте Solr для поиска
  • использовать результаты Solr, чтобы указать на записи из базы данных

Я больше Ruby и Java, чем PHP, но вы будете в основном разговаривать с Solr для полнотекстового поиска и использовать его для поиска записей, которые вы хотите отобразить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...