我有一千万条记录,最好的搜索技术是什么?目前我正在使用全文搜索,但速度很慢,请给予建议。
我有一千万条记录,最好的搜索技术是什么?目前我正在使用全文搜索,但速度很慢,请给予建议。
没有一种通用的解决方案,但您可以尝试以下方法:
Sphinx
如何为包含1000万行数据的表实现全文搜索,跟上负载并保持相关性?Sphinx非常擅长处理这些谜题。
Sphinx是一款全文搜索引擎,根据GPL版本2发布。也提供商业许可证以用于嵌入式使用。
通常情况下,它是一个独立的搜索引擎,旨在为其他应用程序提供快速、大小高效和相关的全文搜索功能。Sphinx专门设计为与SQL数据库和脚本语言良好集成。目前内置的数据源支持通过直接连接到MySQL或PostgreSQL获取数据,或使用XML管道机制(一种特殊的基于XML格式的管道,Sphinx能够识别)。
至于名称,Sphinx是一个缩写,官方解码为SQL Phrase Index。是的,我知道CMU的Sphinx项目。
Lucene PHP (Part of Zend Framework):
这取决于几个简单的问题:
因为我没有处理过像这样的大型数据集,所以这里有一些可能有效的想法:
首先问题是这些记录是静态的(例如geoip)还是动态的?
如果您能提供更多细节,也许我可以完善我的建议。