Node.js 有没有好的索引/搜索引擎?

我正在为 node.js 应用程序寻找一个好的开源(使用 LGPL 或许可许可证)索引引擎,比如 Lucene.我正在寻找进程内索引和搜索,但对像 Sphinx 或 Solr 这样的索引服务器不感兴趣.

I'm looking for a good open source (with LGPL or a permissive license) indexing engine for a node.js application, something like Lucene. I'm looking for in-process indexing and search and am not interested in indexing servers like Sphinx or Solr.

我也不害怕为 C/C++ 库创建绑定,所以我也愿意接受这些建议.

I am not afraid to create bindings for a C/C++ library either so I'm open to those kind of suggestions as well.

到目前为止我已经找到了

So far I've found

  • node-clucene 似乎不再积极维护(并且有几个未解决的问题)
  • 我可以为 CLucene 创建自己的绑定,但它似乎很少维护,而且它的当前版本也远远落后于 Java Lucene
  • Apache Lucy 似乎是为为动态语言创建绑定而设计的,但到目前为止它们没有节点绑定(也没有 C API),我还没有找到任何关于创建绑定的文档.我也没有找到任何关于其性能的基准.
  • node-search似乎被放弃了
  • jsii 好像还是个原型,也被废弃了
  • fullproof,仅用于在网络浏览器中运行
  • lunr.js 似乎只允许序列化整个索引,因此不可扩展
  • node-clucene which doesn't seem to be actively maintained anymore (and has several open issues)
  • I could create my own binding for CLucene but it seems to be quite sparsely maintained and its current version is also quite behind the Java Lucene
  • Apache Lucy which seems to be designed for the purpose of creating bindings for dynamic languages, but so far they don't have node bindings (nor a C API) and I haven't found any docs about creating bindings. I also didn't find any benchmarks about its performance.
  • node-search which seems to be abandoned
  • jsii which seems to be still a prototype and is also abandoned
  • fullproof which is only intended to run in a web broswer
  • lunr.js which seems to only allow serializing the whole index, so isn't scalable

我可以自己动手",但我更喜欢使用现有的解决方案.

I could "roll my own", but I'd prefer to use an already existing solution.

为什么我对独立的索引服务器不感兴趣:我使用一个快速的进程内键值存储数据库,所以不得不退出会很浪费查询过程.

Why I'm not interested in a standalone index server: I use a fast in-process key-value store database, so it'd be quite a waste having to go out of process for querying.

推荐答案

只是对我之前答案的更新 - 因为讨论太多了,我不希望这个更新丢失.

Just an update to my earlier answer - since there was so much discussion I didn't want this update to get lost.

你可以下载它 这里:

相关文章