【问题标题】:Searching large data in mysql+PHP using Trie使用 Trie 在 mysql+PHP 中搜索大数据
【发布时间】:2014-05-02 22:34:24
【问题描述】:

我在大型数据库中有需要搜索功能的项目。例如,我想从 8000 条记录中搜索关键字。搜索将检查每条记录的 7 个字段。
我想做相关性搜索,哪个miss类型可以带来建议的结果,比如我搜索:blaeck,会带来结果黑色(他本来打算得到这个黑色的结果)

我曾尝试使用 Levenshtein,但它的速度太慢了。 我正在阅读 PHPTrie,它使用 PHP 实现 Trie。我也确实找到了执行此操作的代码 (https://github.com/fran6co/phptrie)。我尝试这个是因为我读到使用 Trie 的时间会快很多。但是我没有得到更多信息,而且我的 PHP 技能还不够先进,无法自己创建。 我的问题是,如何实现 trie?有没有关于它的细节?在上面那个链接中提供的类中,它具有搜索功能,但没有给出任何东西。

或者我的问题有其他解决方案吗?

【问题讨论】:

    标签: php mysql search


    【解决方案1】:

    为此使用Elastic Search 之类的搜索索引。您可以为索引中的条目赋予“权重”,即相关性。如果您不想使用专用的索引数据库,则必须自己计算权重或相关性并将其存储在每条记录中。

    【讨论】:

    • 谢谢!这确实对我有帮助,但我不能为这个项目使用外部数据库。必须只在我自己的数据库中,我读到,在 ES 中,我们必须把我们的关键字放在那里,对吧?可悲的是我不能这样做。
    • 不,这不是 ES 的工作方式。阅读手册。就像我说的,如果您不能使用另一个数据库,您将不得不添加自己的相关性计算并将其与您的数据一起存储在表中并按其排序。
    猜你喜欢
    • 2013-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    相关资源
    最近更新 更多