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

用于搜索引擎样式搜索的JavaScript库?

来源:互联网 收集:自由互联 发布时间:2021-06-16
有没有可以确定字符串匹配搜索查询的 JavaScript库?它应该是高效的,并提供像Google或LexisNexis(诸如和/或操作符,同义词和括号)的高级查询功能.任何一种高级搜索功能都会很棒;它不一定与
有没有可以确定字符串匹配搜索查询的 JavaScript库?它应该是高效的,并提供像Google或LexisNexis(诸如和/或操作符,同义词和括号)的高级查询功能.任何一种高级搜索功能都会很棒;它不一定与任何特定的搜索引擎完全匹配.

动机:我有一个HTML页面,其中包含一个搜索框,后跟一堆段落(具有唯一的id并且由JavaScript数组生成).当用户在框中键入搜索查询并按Enter键时,如果所有段落与查询不匹配,则应隐藏所有段落(即显示设置为无).

我目前的策略(使用jQuery):

>通过将查询字符串分割为空格将查询字符串分隔成关键字数组.
使用$(‘p’)隐藏所有段落.hide().
>对于每个关键字,使用$(‘p:contains(“’keyword’”)’)显示一个包含它的段落.

哪个是非常有限的搜索功能,区分大小写,将所有关键字视为可选的,并且不提供操作符和/或括号.这也是低效的,因为即使已经匹配,每个关键字也会遍历每个字符串一次.

以下是我正在评估项目的图书馆(2013年7月).任何这些都应该能够提供搜索功能的核心.

> http://lunrjs.com/

>内在的成绩,得分
> 13.8kb
>最近更新14天前(https://github.com/olivernn/lunr.js/commits/master)
> 10贡献者
>没有外部依赖

> http://kiro.me/projects/fuse.html

>模糊搜索
> 1.58 kb
>最后更新3个月前(https://github.com/olivernn/lunr.js/commits/master)
> 1贡献者
>没有外部依赖

> http://reyesr.github.io/fullproof/

>使用html5存储与优雅的降级
> 459 kb缩小
>最后更新4个月前(https://github.com/reyesr/fullproof/commits/master)
> 2贡献者
>没有外部依赖

> http://eikes.github.io/facetedsearch/

分页,模板内置
> 5.70kb
>最近更新2年前(https://github.com/eikes/facetedsearch/commits/master),但“骨干”分支在过去10个月内更新(https://github.com/eikes/facetedsearch/commits/backbone)
> 1贡献者
>依赖于jquery和下划线

如果你想建立自己的,这里有两个常见的源代码算法的实现,让你开始:

> https://github.com/fortnightlabs/snowball-js
> http://tartarus.org/martin/PorterStemmer/

对于处理布尔逻辑搜索运算符,也许this question about js query parsers将是有用的.

网友评论