用户输入关键字后,搜索引擎如何找到索引

freedom825 2010-03-28 11:33:09
比如用户在搜索框中输入“good”,点击搜索;搜索引擎首先要找到“good”这个词在服务器上的索引地址,什么方法最快呢?我看lucene用的是二分查找法,也有人说用B树、hash法、trie树... 哪位达人知道什么方法最快?
...全文
132 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
freedom825 2010-04-01
  • 打赏
  • 举报
回复
决定用双数组Trie树做了,因为hash散列函数不好设计,而且关键词词典500万条。
Java2King 2010-03-31
  • 打赏
  • 举报
回复
lucene是用二分,每次索引合并起来很麻烦~~
B树实现起来比较难~
最快是hash,前提是有足够的内存
freedom825 2010-03-30
  • 打赏
  • 举报
回复
谢谢lingjoin
freedom825 2010-03-29
  • 打赏
  • 举报
回复
二分法的时间复杂度是 logN,N为词库中词的数量;如果hash,常数时间内就可完成查找,但散列函数设计需要技巧;trie树的话,时间复杂度为O(N),N为该词的长度;B树的方法不清楚。
不知道理解的对不对
ccc0009 2010-03-29
  • 打赏
  • 举报
回复
据我所知,目前二分法最快
lingjoin 2010-03-29
  • 打赏
  • 举报
回复
推荐采用Hash,其次是Trie树,但是Trie树需要改良,避免使用大量的链表结构。

2,760

社区成员

发帖
与我相关
我的任务
社区描述
搜索引擎的服务器通过网络搜索软件或网络登录等方式,将Internet上大量网站的页面信息收集到本地,经过加工处理建立信息数据库和索引数据库。
社区管理员
  • 搜索引擎技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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