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.
你可以下载它 这里:
相关文章