我有10,000,000条记录,这将是搜索记录的最佳技术,目前我使用全文搜索,但速度很慢,请建议。哪一个是搜索记录的最佳serach技术
回答
这取决于以下几个简单的问题:
- 什么样的数据进行处理? (简单的条目,如“名字,姓氏”,或更复杂的数据集?
- 它是如何构成的?(普通数据库表?分区?)
- 你怎么寻找?(即搜索在电话目录名)
没有一个放之四海而皆准的解决办法,但你可以尝试一下:
狮身人面像
如何实现全文海对于1000万行以上的表格,请保留 并保持相关性? 狮身人面像擅长那些 谜语。
斯芬克斯是全文搜索引擎, GPL版本2 商业许可下发布的,也是嵌入式应用提供 。
一般来说,它是一个独立的搜索引擎 ,旨在为客户提供快捷, 规模效益和有关全文 搜索功能到其它 应用。 Sphinx特别设计用于与SQL 数据库和脚本语言很好地集成。 目前内置的数据源 支持读取数据或者通过 直接连接到MySQL或PostgreSQL的 或使用XML管道 机制(一管索引中狮身人面像 识别 特殊的基于XML的格式)。
至于名称,狮身人面像是一个首字母缩写词 它被正式解码为SQL 短语索引。是的,我知道CMU的 Sphinx项目。
Lucene PHP (Part of Zend Framework):
Zend_Search_Lucene是一个完全由PHP 5编写 一般 通用文本搜索引擎是因为它存储了 指数上的文件系统,并且不 需要一个数据库服务器,它可以将 搜索功能添加到几乎所有的 PHP驱动的网站。Zend_Search_Lucene的 支持以下功能:
- 排名功能的搜索 - 最好的结果显示第一
- 许多强大的查询类型:短语查询,布尔查询,通配符
查询,近似查询,范围
查询等等。- 搜索特定的字段(例如,标题,作者,内容)
http://framework.zend.com/ http://framework.zend.com/manual/en/zend.search.lucene.overview.html
+1用于提示Zend_Lucene。从来没有用过这么多的东西,但从来没有性能问题。 – Maerlyn 2010-06-30 09:19:14
,因为我没有这么大的数据集这样的在这里工作有一些想法,可能工作:
第一个问题是,这些记录是静态的(geoip的例子)或不?
- 我会尝试尽可能多的优化我的数据库,我可以(尝试使用EXPLAIN如果你使用MySQL)
- 查找出每一个类型的查询,可以是有可能,尽量优化数据库针对这些查询
- 如果索引很好,我会用某种缓存去保存以前的结果集。当你的数据库没有正式更新时,这会很方便。
- 可以和cron上面的工作(例如:最常用的搜索查询及其结果可以过预缓存)
- 尝试优化这些想法为您的需求
如果你也许可以提供一些更多的细节我可以改进我的提示。
这些都是非常有用的技术感谢 – Jos 2010-06-30 08:02:19
使用Solr。这是lucene,通过http协议可以轻松访问一些附加内容。与任何来自mysql的全文搜索相比,它的速度非常快。
- 1. 什么是从对象记录数据的最佳技术?
- 2. 哪种搜索技术可用于ASP.NET?
- 3. 大范围输入数据的最佳搜索技术
- 4. 哪一个是首选的CGI技术?
- 5. 哪些是学习Windows Installer技术的最佳资源?
- 6. 在一天内制作一个简单的可搜索人员及其技能目录 - 哪些技术?
- 7. 简单搜索只搜索记录的最后一个单词
- 8. 什么是存储多个ID的最佳技术?
- 9. 用Linq和SQL Server搜索匹配子字符串的最佳技术
- 10. 用于Windows平台的最佳技术?
- 11. AJAX Web开发的最佳技术
- 12. 学习新技术的最佳实践
- 13. 什么是最好的和最活跃的开源.Net搜索技术?
- 14. 哪种技术:PhoneGap,xml中的大数据和快速搜索?
- 15. Facebook搜索背后的技术
- 16. 何时在Sharepoint开发中使用哪种搜索技术?
- 17. 用于移动Safari的最高性能实时搜索技术
- 18. 什么是记住组织中的技术知识的最佳方式
- 19. 记录哪个是最好的方式
- 20. 在SQL中搜索技术(Like,Contain)
- 21. 哪一种是在Swift中排序大量文本记录的最快排序技术?
- 22. 搜索记录的最佳数据结构
- 23. RoR:用于16k +记录数据库的最佳搜索包
- 24. 最佳实践:主管可以搜索他的下属记录?
- 25. 最佳哈希技术为PHP MySQL登录?
- 26. 最佳网站地图技术和最佳实践
- 27. 哪一个是PHP的最佳PDF-API?
- 28. 什么是替代EJB和EJB Timerservice的最佳技术?
- 29. 比较图像相似性的最佳技术是什么?
- 30. 技术用户群体的最佳CMS是什么?
请给出一些更多的信息和代码(关于您的表格结构) – Thariama 2010-06-30 07:41:19
给我们更多的细节:你在搜索什么,这些记录的频率和方式如何? - 简单地说 - 请给我们一些例子。 – 2010-06-30 07:42:37
考虑一个包含五个表的数据库的情况,并且我只在一个表上用100列进行选择,其中20个用于全文索引。 所有的列值都是文本值并经常变化。这会帮助大师(你们全部)。 :) – Jos 2010-06-30 07:47:44