微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

类似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如何排序和搜索联系人以进行自动填充.

原文地址:https://www.jb51.cc/js/154923.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐