我想在Node应用中创建一个Js Search索引,然后在客户端JavaScript应用中使用此索引。
我不清楚README或benchmark代码如何执行此操作。
我试过这个:
// 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);
...但是如何在那时访问索引?
答案 0 :(得分:1)
在客户端JavaScript应用程序中使用此索引
没有办法将内存中的索引从Node传递到浏览器以便以通常的方式访问(如果你只是在浏览器中构建了索引)。 js-search
[目前]不支持序列化。 (早期测试表明,从序列化格式恢复并且从头开始重新创建它的速度并不快得多。)
您可以通过API从Node中公开搜索,但我不会认为您想要的是什么或者您正在寻找什么。
所以我建议了几种可能性:
js-search
的可配置性(根据你的例子看来你似乎没有)然后考虑使用它的更快的兄弟js-worker-search
。lunr.js
(我相信)支持序列化和恢复索引。