在Mysql关系数据库上使用SOLR.仅将SOLR用于产品表

Ke.*_*Ke. 2 solr

关于SOLR使用何时结束以及开始的地方,我有点困惑.

我使用带有关系mysql数据库的php作为购物网站,其中所有表都与产品表相关联,因为它们在查询时加入了表.不用说它太慢了!

例如

  • 分类表 - catid,catname,catdesc
  • 品牌表 - brandid,brandname,branddesc
  • 产品表 - productid,productname,productdesc,catid,brandid
  • (我也使用价格范围等范围)

我想知道是否应该使用SOLR来索引整个关系模式,或者仅仅是为了单独索引产品表并让我的应用程序像现在一样工作.

如果我只是将产品表切换到使用SOLR,有什么警告吗?

例如在mysql中我可以在加入品牌表时进行全文搜索.这将允许品牌也被搜索.是否可以通过将产品表切换到SOLR来实现相同的目标?是否还有其他需要注意的警告.

我还想为"搜索"创建一个新表.这将允许我以下列方式在mysql表中使用关键字:

搜索表 - searchterm(例如口红),同义词(例如口红,嘴唇等)

即.这将允许我同时搜索多个术语 - 使用SOLR方面的好时机可能不是在mysql中存储搜索?或者我应该只使用mysql存储搜索并从SOLR中提取产品?

任何帮助都很高兴

Joh*_*ter 6

无需切换

你不想"切换" - 就像在MySQL中使用全文索引(或使用像Sphinx这样的东西),全文索引与数据库表分开.

您想要做的是弄清楚您在Solr中搜索和索引的内容 - 它可能只是产品.这当然是一个简单的第一步.

基本上你会:

  • 将适当的列索引到Solr中
  • 使用Solr进行搜索
  • 使用Solr结果指向数据库中的记录

我比PHP更像Ruby和Java,但你基本上会和Solr讨论全文搜索并使用它来查找你想要显示的记录.