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

时间:2010-02-03 05:23:05

标签: solr

我对SOLR使用的结束位置和开始位置感到有些困惑。

我将php与关系mysql数据库一起用于购物网站,其中所有表格都与加入表格的产品表相关。不用说它太慢了!

e.g。

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

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

如果我只是将产品表切换为使用SOLR,那么有什么需要注意吗?

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

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

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

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

非常感谢任何帮助

1 个答案:

答案 0 :(得分:6)

无需切换

您不想“切换” - 就像在MySQL中使用全文索引(或使用Sphinx之类的东西)一样,全文索引与数据库表分开。

你想要做的是找出你在Solr中搜索和索引的内容 - 它可能只是产品。这当然是一个简单的第一步。

基本上你会:

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

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