php - 使用Trie在mysql+PHP中搜索大数据

标签 php mysql search

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

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

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

最佳答案

使用类似 Elastic Search 的搜索索引为了这。您可以为索引中的条目赋予“权重”,换句话说就是相关性。如果您不想使用专用索引数据库,则必须自己计算权重或相关性并为每条记录存储它。

关于php - 使用Trie在mysql+PHP中搜索大数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22907019/

相关文章:

php - 将 Javascript 正则表达式转换为 PHP (PCRE) 表达式

php - 适用于 PHP 的 Azure Cloudstorage - 调用函数 createBlobService() 时出错

MySQL 说 : #1064 - You have an error in your SQL syntax creating a stored procedure

ruby-on-rails - 使用Elasticsearch在Searckick中进行多重建模

php - 为什么我的查询没有定义该值?

php - 如何在 Laravel 5.2 中插入数据之前验证(检查)数据表值

php - Mysql/Laravel 逻辑测试返回 false 但查询返回 true

java - 我在 Marklogic 中使用 Java API 进行通配符自定义搜索有什么问题?

c - 如何在c中实现包含书名的数组中的搜索

php - 使用 HTML <form action method=GET> 在 PHP 页面中重新启动 session