Javascript 使用Js搜索在节点应用程序中构建索引
我想在节点应用程序中创建一个索引,然后在客户端JavaScript应用程序中使用该索引 我不清楚代码或代码中如何执行此操作 我试过这个:Javascript 使用Js搜索在节点应用程序中构建索引,javascript,lunrjs,js-search,Javascript,Lunrjs,Js Search,我想在节点应用程序中创建一个索引,然后在客户端JavaScript应用程序中使用该索引 我不清楚代码或代码中如何执行此操作 我试过这个: // docs is an array of objects, each with a name, title and description var search = new jsSearch.Search('name'); search.addIndex('title'); search.addIndex('description');
// docs is an array of objects, each with a name, title and description
var search = new jsSearch.Search('name');
search.addIndex('title');
search.addIndex('description');
search.addDocuments(docs);
…这是:
var search = new jsSearch.Search('name');
search.searchIndex = new jsSearch.TfIdfSearchIndex('name');
search.addIndex('title');
search.addIndex('description');
search.addDocuments(docs);
…但我如何才能访问该索引
在客户端JavaScript应用程序中使用此索引
无法将内存中的索引从节点传递到浏览器,以正常方式进行访问(如果只是在浏览器中构建索引)js search
不[当前]支持序列化。(早期测试表明,从序列化格式恢复与从头开始重新创建相比,速度不会明显加快。)
您可以通过API从Node公开搜索,但我认为这不是您想要的,也不是您正在寻找的
因此,我建议有两种可能性:
- 首先在客户端构建索引。做起来很快。(如果你不能做到这一点,你所索引的数据太大了,那么就考虑通过前面提到的API来公开它。)而且,如果你不需要所有的可配置性的<代码> JS搜索< /C> >(看起来你不喜欢,基于你的例子),然后考虑使用它的更快的兄弟姐妹,
- 或者,您可以查看哪些(我相信)支持序列化和恢复索引