【问题标题】:PHP MySQl search engine advicePHP MySQl 搜索引擎建议
【发布时间】:2017-10-01 18:10:55
【问题描述】:

我正在尝试制作一个智能的多语言 PHP 搜索引擎。例如,我想搜索 samsung smarthphone 并且用户输入 smasung smortphone 。这是从 1 000 000 行数据库中提取它的最佳方法。 我的想法是选择这个 REGEXP(对于这个例子)匹配的行

'[a-zA-z]*[smasung]{4,}[a-zA-Z]*' AND '[a-zA-Z]*[smortphone]{5,}[a-zA-Z]*'

这是选择包含至少 4 或 5 个用户输入字母的单词的所有行。但这意味着在每个选定的行上运行此正则表达式,然后使用用户输入来匹配匹配并保存最佳匹配。对于 1 000 000,它非常慢。你有更好的主意吗?

【问题讨论】:

    标签: php mysql search-engine


    【解决方案1】:

    我知道这个问题,所以我已将所有重要记录导出到 elasticsearch(NoSql 并且非常易于安装)。接下来实现了模糊搜索。 (内置)

    { 
    "multi_match" : {  
        "fields" : ["product"],
        "query" : "smasung smortphone",
        "fuzziness" : "AUTO"
    }
    }
    

    【讨论】:

      猜你喜欢
      • 2010-12-25
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 2012-10-20
      相关资源
      最近更新 更多