PHP MySQl搜索引擎建议

时间:2017-10-01 09:55:13

标签: php mysql search-engine

我正在尝试制作一个智能的多语言PHP搜索引擎。例如,我想在samsung smarthphone中搜索smasung smortphone和用户类型。哪个是从1 000 000行DB中提取的最佳方法。 我的想法是选择此REGEXP(对于此示例)匹配的行

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

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

1 个答案:

答案 0 :(得分:0)

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

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