P patlovecl Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-12 #1 我看到有些全文检索软件的广告说:检索一整张光盘只用几秒钟, 我实在想不出使用了什么技术,dir/s 还得十几秒呐。 memo字段不能建索引,用流实现不可能太快,到底是什么算法?
C chenke Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-12 #3 http://www.TamarackA.com有针对delphi的全文检索引擎,可去看一看。
C chenke Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-12 #4 http://www.TamarackA.com有针对delphi的全文检索引擎,可去看一看。
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-12 #5 如果不是广告技术, 那么该光盘格式是特殊的.
3 3h Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-12 #6 我认为可能是该软件对光盘进行预读,已在硬盘中保存了光盘的目录表。 再检索时自然就几秒了。 如果按照一般读盘技术来说,就算40速的光驱也无法保证一张光盘在数秒 内检索完。 有点象以前的100速光驱的基本原理。大家认为如何?
我认为可能是该软件对光盘进行预读,已在硬盘中保存了光盘的目录表。 再检索时自然就几秒了。 如果按照一般读盘技术来说,就算40速的光驱也无法保证一张光盘在数秒 内检索完。 有点象以前的100速光驱的基本原理。大家认为如何?
2 2000 Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-13 #8 搜索方式是B*树,B+树的变种,首先对检索内容建立索引,分为两种:字索引、词索引,前者通用,后者速度快,当需要检索时,只是根据索引取出相应的数据显示,不需要匹配,故速度快,其技术高低主要是对索引库的压缩。我们现在利用索引技术进行地图的检索(GIS空间数据索引),TB级的数据也能在几秒内得到结果。
搜索方式是B*树,B+树的变种,首先对检索内容建立索引,分为两种:字索引、词索引,前者通用,后者速度快,当需要检索时,只是根据索引取出相应的数据显示,不需要匹配,故速度快,其技术高低主要是对索引库的压缩。我们现在利用索引技术进行地图的检索(GIS空间数据索引),TB级的数据也能在几秒内得到结果。
C cHengyAng Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-13 #9 我做光盘对大量文件或文本的加载处理用的是: 启动时预先读入一个检索文件(当然是先做好的),不涉及具体内容就在内存处理索引 文件,仅显示说明,实际调用时才到光盘上读取。这是指对文本文件内容。 如果是指对目录中的文件名称的检索,硬盘当然快,光盘嘛,监视换盘信号,只要 有换盘信号,赶紧读盘(不会被用户发现的,只会认为是系统读盘而已)如果盘片 标号和容量和内建的某个记录相同,就不读盘了直接调记录,否则读光盘目录和容量 并建立记录(当然记录的名称和内容不能让用户读取,至少得稍稍处理,免得被发 现) 3H 说得很对,目录应该是预读取才行,全文检索,要用的时候再说吧,反正一次调 入600M 的文本,十秒钟完成也得 400倍速 的光驱,谁有?我出血买一个!
我做光盘对大量文件或文本的加载处理用的是: 启动时预先读入一个检索文件(当然是先做好的),不涉及具体内容就在内存处理索引 文件,仅显示说明,实际调用时才到光盘上读取。这是指对文本文件内容。 如果是指对目录中的文件名称的检索,硬盘当然快,光盘嘛,监视换盘信号,只要 有换盘信号,赶紧读盘(不会被用户发现的,只会认为是系统读盘而已)如果盘片 标号和容量和内建的某个记录相同,就不读盘了直接调记录,否则读光盘目录和容量 并建立记录(当然记录的名称和内容不能让用户读取,至少得稍稍处理,免得被发 现) 3H 说得很对,目录应该是预读取才行,全文检索,要用的时候再说吧,反正一次调 入600M 的文本,十秒钟完成也得 400倍速 的光驱,谁有?我出血买一个!
C CJ Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-13 #10 估计是把关键数据索引复制到硬盘,然后建立数据库,使用比较油画的算法如 A行之类的. 以前有个百速灌区,就是把所有的东西复制到HDD上
P patlovecl Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-14 #11 谁有 Rubicon控件的注册版? 快是快,但好象支持中文不好,据我估计它是基于洋文 字与字之间有空格设计的.
G genius Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-15 #13 整张光盘秒级检索,我不太同意这种说法,就是向100x光驱的那种做法 ^^^^ COPY TO HDD 650M 啊,无论用什么检索办法,可能吗?除非整张光盘,数据 量小到一个合理的数量级,比如30M什么的,这样就有可能了。
整张光盘秒级检索,我不太同意这种说法,就是向100x光驱的那种做法 ^^^^ COPY TO HDD 650M 啊,无论用什么检索办法,可能吗?除非整张光盘,数据 量小到一个合理的数量级,比如30M什么的,这样就有可能了。
2 2000 Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-15 #14 惊动了genius大侠,一直懒惰,就是不想写字! 关于实现“零等待”全文检索,其实大家有一个误区(如同我刚接触全文检索一样,开始听他们说若在一篇巨大的文章中查找资料,若该文章中不出现该关键词,则检索时间为零,当时我怎么也不信) 1“零等待”是一个形象的说法,不是真正的0,只是对人的操作而言,几秒内有结果,应该为0吧; 2 全文检索,其实就是索引的建立,索引建立好后,检索是这样实现的: 给出关键词,在索引库中找到该位置,若索引库中无该关键词, 则查询结束(时间应该是0吧),若找到,取出位移值,移动文件 指针位置,显示文本内容,时间也应该为0吧; 3 索引并非一级,检索时,也并非一次读入内存,只是按索引读取,想 一想,咱们每日用的磁盘文件系统,是一个树,查找资料时, 不可能把硬盘内容或索引全读入内存吧; 4 全文检索是现在很成熟的技术,有一定的技术难点,GIS空间数据索引 更是如此,从产品的价格上,就能体会。
惊动了genius大侠,一直懒惰,就是不想写字! 关于实现“零等待”全文检索,其实大家有一个误区(如同我刚接触全文检索一样,开始听他们说若在一篇巨大的文章中查找资料,若该文章中不出现该关键词,则检索时间为零,当时我怎么也不信) 1“零等待”是一个形象的说法,不是真正的0,只是对人的操作而言,几秒内有结果,应该为0吧; 2 全文检索,其实就是索引的建立,索引建立好后,检索是这样实现的: 给出关键词,在索引库中找到该位置,若索引库中无该关键词, 则查询结束(时间应该是0吧),若找到,取出位移值,移动文件 指针位置,显示文本内容,时间也应该为0吧; 3 索引并非一级,检索时,也并非一次读入内存,只是按索引读取,想 一想,咱们每日用的磁盘文件系统,是一个树,查找资料时, 不可能把硬盘内容或索引全读入内存吧; 4 全文检索是现在很成熟的技术,有一定的技术难点,GIS空间数据索引 更是如此,从产品的价格上,就能体会。
P patlovecl Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-16 #15 2000,能否告知地址? 我的mail : patlovecl@hotmail.com (BTW:怎么在上述地址上作超连接?)
T TOTO Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-16 #16 我原来作过一个全文检索的东西是这样的: 有一个文本,是某位作家的全集.要求输入任意的字词检索出他在文件中出现的 位置和次数.出现的位置有其他数据给出,只需要找到相对于文件靠头的偏移即可找到位置.我是这样实现的: 1 建立索引文件 首先遍力整个文件,找出文件中区委吗最大的汉字;然后建立一个练表(DELPHI的tList)以某个汉字的区委吗最为在练表中的下标,建立一个达的练表这个练表的美意向有是TList在这各练表中按顺序纪录这个汉字出现的绝对偏移量,然后保存这个文件 2 检索 举例 : 检索 大富翁 首先根据"大"的区委吗找到"大"的偏移两练表 取出第一次出现的偏移两;然后偏移两加1;到"富"的练表中检查是否是在这个位置上是有字如果有则继续加1找翁.没有则从下一个大的偏移两出发检索 这个方法海星,增经试验过一个文件时间还可以.文件不是很大.不止我说清楚了没有,如果大家有其他发能够发可以给我来信讨论 zhangxinjin@263.net
我原来作过一个全文检索的东西是这样的: 有一个文本,是某位作家的全集.要求输入任意的字词检索出他在文件中出现的 位置和次数.出现的位置有其他数据给出,只需要找到相对于文件靠头的偏移即可找到位置.我是这样实现的: 1 建立索引文件 首先遍力整个文件,找出文件中区委吗最大的汉字;然后建立一个练表(DELPHI的tList)以某个汉字的区委吗最为在练表中的下标,建立一个达的练表这个练表的美意向有是TList在这各练表中按顺序纪录这个汉字出现的绝对偏移量,然后保存这个文件 2 检索 举例 : 检索 大富翁 首先根据"大"的区委吗找到"大"的偏移两练表 取出第一次出现的偏移两;然后偏移两加1;到"富"的练表中检查是否是在这个位置上是有字如果有则继续加1找翁.没有则从下一个大的偏移两出发检索 这个方法海星,增经试验过一个文件时间还可以.文件不是很大.不止我说清楚了没有,如果大家有其他发能够发可以给我来信讨论 zhangxinjin@263.net
C chenke Unregistered / Unconfirmed GUEST, unregistred user! 1999-01-16 #17 不知谁有汉语切词的算法没有?没有的话,如何做全文检索呢?
王 王寒松 Unregistered / Unconfirmed GUEST, unregistred user! 1999-02-06 #19 哈哈哈哈,可找到一个我这笨蛋会答的问题 以前我做过一个检索图书馆图书索引的程序 也是光盘检索,和你说的差不多, 基本上可以做到几秒内检索的效率 那是一个PARADOX 库,有40万本书的内容简介,数据库索引就有80M大 库的实际大小大概在300M左右 当时实现的方法是,把库里的主要简短ID和关键词(书名)做在一个小表里 大库里放ID和 其他MEMO类的详细信息 要做到秒级检索, 需要在程序安装完后,把小库安装到硬盘里 查询的时候使用多线程查找技术 主线程负责查找,然后把找到的东西传给另一个显示用的线程 因为用户是一个DBGRID显示,所以用户在几秒内看到的东西时 另一个查询线程还在继续工作着,等用户浏览完这显示出的第一页 查询线程也把查找到的第2页的结果返回了。 呵呵,就如此 模糊查找可以用SQL 的LIKE % 的方法 但愿能帮助你,嘻嘻
哈哈哈哈,可找到一个我这笨蛋会答的问题 以前我做过一个检索图书馆图书索引的程序 也是光盘检索,和你说的差不多, 基本上可以做到几秒内检索的效率 那是一个PARADOX 库,有40万本书的内容简介,数据库索引就有80M大 库的实际大小大概在300M左右 当时实现的方法是,把库里的主要简短ID和关键词(书名)做在一个小表里 大库里放ID和 其他MEMO类的详细信息 要做到秒级检索, 需要在程序安装完后,把小库安装到硬盘里 查询的时候使用多线程查找技术 主线程负责查找,然后把找到的东西传给另一个显示用的线程 因为用户是一个DBGRID显示,所以用户在几秒内看到的东西时 另一个查询线程还在继续工作着,等用户浏览完这显示出的第一页 查询线程也把查找到的第2页的结果返回了。 呵呵,就如此 模糊查找可以用SQL 的LIKE % 的方法 但愿能帮助你,嘻嘻
G genius Unregistered / Unconfirmed GUEST, unregistred user! 1999-02-07 #20 坏人,为什么不早说,我琢磨了好长时间,不过现在也用几乎同样的方法解决了。 以后多回答问题,免得大家费神。