类似Lucene的JavaScript通过JSON对象进行搜索

我有一个相当大的 JSON对象数组(它的一个音乐库,诸如艺术家,专辑等属性,使用loadonce = true提供jqgrid),并且我想通过整个集合来实现类似lucene的(类似google的)查询,但是本地,即在浏览器中,不与Web服务器通信.有没有任何 JavaScript框架会帮助我?

解决方法

通过记录,通过组合所有搜索创建一次性索引
一个字段字段中的可用字段称为索引.
>将这些索引记录存储在数组中.
>将索引上的数组分割为一个数组中的全部a等等.
>对索引使用javascript函数 indexOf()来匹配用户输入的查询,并从分区数组中查找记录.

这是很容易的部分,但它将以非常有效的方式支持所有简单的查询,因为不必为每个查询重新创建索引,并且indexOf操作非常有效.我用它来搜索多达2000条记录.我使用了一个预先排序的数组.其实这就是Gmail和yahoo邮件的工作原理.他们将您的联系人在浏览器上存储在一个预先排序的数组中,其索引可以让您在输入时查看联系人姓名.

这也为您提供了基础.现在,您可以在其上编写高级查询解析逻辑.例如,要支持一些简单的条件关键字,如 – 和或不,将需要约20-30行自定义JavaScript代码.或者您可以找到一个JS库,将以Lucene的方式为您解析.

对于上述逻辑的参考实现,请查看ZmContactList.js如何排序和搜索联系人以进行自动填充.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...