首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过javascript搜索CD-Rom上的静态HTML文件

通过javascript搜索CD-Rom上的静态HTML文件
EN

Stack Overflow用户
提问于 2009-08-31 12:12:10
回答 6查看 9.6K关注 0票数 16

我将在CD-Rom上提供一组静态HTML页面;这些页面需要在没有任何互联网访问的情况下完全可查看。

我想为这些页面的内容提供一个全文搜索(Lucene样的),这应该“只是工作”从CD-Rom没有软件安装在客户端机器上。

javascript中的搜索引擎实现将是完美的解决方案,但我很难找到任何看起来可靠的/当前的/流行的.?

我确实找到了这些:+ jsFind + js-搜索

但这两个项目似乎都相当不活跃?

除了javascript中的特定搜索引擎之外,另一个解决方案是能够从javascript访问本地Lucene索引:索引本身将使用Lucene构建,并与HTML文件一起复制到CD-Rom中。

编辑:自己构建它(见下文)。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-12-10 01:12:48

其实是我自己造的。

现有的解决办法(我能找到)是无法令人信服的。

我想找一棵很长的树(ul/li/ul.)它显示为一个页面;它包含5000+项。

在一个页面上显示这么长的树听起来有点奇怪,但是实际上,折叠/展开比单独的页面更直观,而且由于我们离线,下载时间不是问题(解析时间是问题,但Chrome是惊人的;-)

现代浏览器(不管怎么说,FF和Chrome )提供的“搜索”功能有两个大问题:它们只搜索页面上的可见项,并且不能搜索非连续的单词。

我希望能够搜索折叠的项目(在屏幕上不可见);在搜索“一二三”时,我希望找到“一二三”(就像Google /Lucene那样);我只想打开树中包含找到的项目的分支。

所以,我做的是:

  1. 从列表中创建单词<-> ids的倒排索引(通过xslt) (大约)。(文件中有4500个独特词)
  2. 将此索引转换为一组javascript数组(一个word =一个数组,包含ids)
  3. 搜索时,将由搜索词表示的数组相交。
  4. 步骤3返回一个ids数组,然后我可以打开/突出显示

它完全满足了我的需要,而且速度很快。更好的是,由于它是从独立的“索引”( it数组)中搜索的,所以它可以在列表甚至没有加载到浏览器中时进行搜索!

票数 11
EN

Stack Overflow用户

发布于 2014-04-01 22:16:52

最初的问题是在09年提出的

截至‘14年,lunr.js被描述为:

在浏览器中进行简单的全文搜索

请参阅演示Github回购

更新2016年9月:轻量级模糊搜索,在JavaScript http://fusejs.io/

票数 6
EN

Stack Overflow用户

发布于 2009-08-31 12:17:05

缩放搜索引擎可以做到这一点。

我没有使用CD版本,但我使用PHP版本我的网站,它的工作非常好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1357173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档