熟悉全文检索的来探讨一下

wooolkillerking 2009-11-10 04:29:45
我现在需要做一个系统,数据库存储海量数据(假设是1亿条大小为1k的文本数据,实际可能没这么多),我需要响应用户的搜索。比如用户输入“中国”,那么可能在这1亿条文本数据里面查找。请问如何设计数据库,都需要什么技术?
本来我的设想是利用mySQL的自带的全文检索功能,我需要做的仅仅就是分词,但是听说性能不太好,数据超过1百万条的很容易使数据库挂掉,而且这个查询功能相当频繁。目前我的系统是php+mysql实现。百度应该也是mysql做的数据,他是怎么实现的呢?分布式数据库?还是其他?
...全文
226 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wooolkillerking 2009-11-21
  • 打赏
  • 举报
回复
搜索联想如何做
晴天1999 2009-11-20
  • 打赏
  • 举报
回复
新手哈,多多指教!
wooolkillerking 2009-11-20
  • 打赏
  • 举报
回复
改成Sphinx了
fire_woods 2009-11-12
  • 打赏
  • 举报
回复
快,大.
maquan 2009-11-11
  • 打赏
  • 举报
回复
根据 LZ 描述的需求,强烈建议用 Sphinx。

如果你有自己的分词系统,建议设法把它嵌入 MySQL,在 MySQL 里完成分词(当然要设置冗余字段保存分词后的结果),因为 Sphinx 不支持“动态更新”,经常需要“重新索引”,而“分词工作”相对于“Sphinx 编制索引”而言,往往开销更大,所以最好在 MySQL 里一次性完成。

如果你不想自己搞分词的事儿,那就去抓一个 http://www.coreseek.cn/ 好了。

Sphinx 支持的数据规模相当大,但如果你还觉得不够的话,分布式部署也很容易。

至于“动态更新”的问题,可以参考一种“main + delta” 的部署方案 http://blog.s135.com/post/360/
jackyren007 2009-11-11
  • 打赏
  • 举报
回复
用DB2的NSE试试看??
fire_woods 2009-11-11
  • 打赏
  • 举报
回复
lucene
高无忌 2009-11-11
  • 打赏
  • 举报
回复
我用lucene
wooolkillerking 2009-11-11
  • 打赏
  • 举报
回复
lucene检索效率如何,数据承受力大不大。
fire_woods 2009-11-11
  • 打赏
  • 举报
回复
lucene直接用,什么用不用你管,最新的連中文分詞都自帶的.
wooolkillerking 2009-11-11
  • 打赏
  • 举报
回复
当然是工作,不会是作业。上面提到的其实都有所了解,目前缺少的就是一个具体实现。
比如倒排序的结构,存储问题,数据压缩问题,按什么格式存?检索的时候怎么检索等等,最好是一些伪代码。大家都是搞程序的,这样最容易说明问题
jkaic98 2009-11-11
  • 打赏
  • 举报
回复
百度用mySql作的数据?

很可疑。这个观点。

1)大型搜索引擎的外围数据可能用到各种数据库,但倒排表是绝对不会用任何数据库来存储查询的。
2)你说的这个功能,应该用各类搜索系统实现,不应该用数据库实现。如果为了实时搜索,可以采用如下 方案:搜索体系 + 数据库的like查询。 (虽然like查询速度很慢,但它没有更新索引的问题,如果只查几条数据like没有什么大问题)。

3)如果是作业。就不搭理你了。如果是工作,可以给我发站内消息。
liuxiaobing2008 2009-11-10
  • 打赏
  • 举报
回复
支持4楼
大部分搜索都是这样做的
yaohuaq 2009-11-10
  • 打赏
  • 举报
回复
Sphinx
nicky_zs 2009-11-10
  • 打赏
  • 举报
回复
应该是先分词,然后再倒排索引,查询的时候直接在倒排索引中查询吧。
APOLLO_TS 2009-11-10
  • 打赏
  • 举报
回复
看完在下结论。
wooolkillerking 2009-11-10
  • 打赏
  • 举报
回复
现在核心问题不是php框架,而是搜索引擎,全文检索这一块
APOLLO_TS 2009-11-10
  • 打赏
  • 举报
回复
http://framework.zend.com/download/current/

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧