【问题标题】:Searching for abbreviated words in MySQL在 MySQL 中搜索缩写词
【发布时间】:2014-04-17 04:00:02
【问题描述】:

我有一个使用 Python 的 MySQL 数据库,其中包含三星电视、三星 Galaxy 手机等产品的一些条目。现在,如果用户搜索三星电视或只是电视,有没有办法返回条目三星电视?

像 Solr 或 Haystack 这样的全文搜索库是否支持这些功能?如果没有,那我该如何进行呢?

谢谢。

【问题讨论】:

    标签: python mysql solr


    【解决方案1】:

    是的,Solr 肯定会让你做到这一点以及更多。你可以开始Here

    SolrCloud 是向最终用户提供高可用性的一种非常好的方式。

    【讨论】:

      【解决方案2】:

      您应该查看您的分析仪的the SynonymFilterFactory。阅读文档时,您会发现这部分听起来很像您描述的场景。

      即使您不担心多词同义词,idf 差异仍然使索引时间同义词成为一个好主意。考虑以下场景:

      • 具有“文本”字段的索引,在查询时使用 SynonymFilter 与同义词 TV、Televesion 和 expand="true"
      • 包含术语“text:TV”的数千个文档
      • 数百个包含术语“text:Television”的文档

      您应该记住为索引和查询时间设置单独的分析器,如此 SO 问题How to make solr synonyms work 中所述。

      【讨论】:

      • 谢谢大厨。我还没有开始研究 solr,但在开始之前我想知道一件事。我是否必须从 MySQL 数据库中的数据手动制作文档并将其放到 solr 服务器上才能工作,还是有什么方法可以自动完成?
      • 您可以使用the DataImportHandler 将您的记录从 MySQL 获取到 Solr。
      猜你喜欢
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 2014-02-13
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 2015-07-13
      • 2015-05-22
      相关资源
      最近更新 更多