当前位置 : 主页 > 网络推广 > seo >

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

来源:互联网 收集:自由互联 发布时间:2021-06-16
我将在CD-Rom上提供一组静态HTML页面;这些页面需要完全可见,无需上网. 我想为这些页面的内容提供一个全文搜索(Lucene-like),这些页面的内容应该只是在CD-ROM上工作,而无需在客户机上安装
我将在CD-Rom上提供一组静态HTML页面;这些页面需要完全可见,无需上网.

我想为这些页面的内容提供一个全文搜索(Lucene-like),这些页面的内容应该只是在CD-ROM上工作,而无需在客户机上安装软件.

JavaScript中的搜索引擎实现将是完美的解决方案,但是我无法找到任何看起来固体/当前/流行的东西?

我找到了这些:
  jsFind
  js-search

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

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

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

其实我自己建造了.

现有的解决方案(我可以发现)是不可信的.

我想能够搜索一个显示为一页的很长的树(ul / li / ul …)它包含5000项.

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

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

我想要能够搜索折叠的项目(屏幕上不可见);搜索“一三”时,我想找到“一二三”(就像Google / Lucene一样);我想打开包含找到的项目的树的树枝.

所以,我做的是:

>创建一个反向索引的单词< - >来自列表的项目的ID(通过xslt)(文档中约4500个独特的单词)
>将此索引转换成一堆JavaScript数组(一个字=一个数组,包含ids)
>搜索时,与搜索词表示的数组相交
>步骤3返回一个ids数组,然后我可以打开/突出显示

它正是我需要的,它真的很快.更好的是,由于它从一个独立的“索引”(ids的数组)中搜索,它可以搜索列表甚至没有加载到浏览器中!

网友评论