是否有Node.js的一个很好的索引/搜索引擎? [关闭](Is there a good in

2019-09-15 14:21发布

我在找一个很好的开源 (LGPL带或一个许可证)的Node.js应用程式索引引擎,像Lucene的。 我在寻找过程中的索引和搜索,我不感兴趣,像狮身人面像和Solr的索引服务器。

我不怕了C / C ++库,要么使创建绑定我打开这些类型的建议为好。

到目前为止,我已经找到

  • 节点clucene这似乎并没有得到积极的维护了(并且有几个悬而未决的问题)
  • 我可以创建自己的CLucene约束力,但它似乎是相当稀疏维持其目前的版本也相当落后和Java Lucene
  • Apache的露西 ,这似乎是设计用于创建动态语言绑定的目的,但到目前为止,他们没有节点的绑定(也不是一个C API),我还没有发现有关创建绑定的任何文档。 我也没有找到关于它的任何性能基准。
  • 节点搜索 ,这似乎被抛弃
  • jsii这似乎还是一个雏形,也放弃了
  • fullproof其仅用于在Web broswer运行
  • lunr.js这似乎只允许序列化整个索引,因此是不可扩展

我可以“推出自己的”,但我宁愿使用现有的解决方案。

编辑:为什么我没有兴趣在一个独立的索引服务器:我使用快速进程key-value存储数据库,所以它会是相当有走出去的过程中,用于查询浪费。

Answer 1:

只是一个更新到我的前面的答案 - 因为有这么多的讨论,我不想此更新迷路。

您可以下载它 这里



Answer 2:

是的,看看最新发布的Norch

Norch是基于对搜索索引进行node.js的模块,这又基于谷歌的强大性LevelDB指数。

编辑:使用搜索索引模块快速“过程中的”搜索功能。



Answer 3:

你能解释一下为什么你不感兴趣,使用外部指标? 全文搜索我总是恢复使用PostgreSQL的全文检索功能 - 它的速度非常快,索引并不需要一个完整的索引更新(如Solr的那样),并且结果比基于Lucene的解决方案(如弹性搜索返回快)。

但如果你真的想这样做的-过程中,你可能想看看Lunr: http://lunrjs.com/ -它确实工作节点,不只是在浏览器中。

编辑:在这里我得到了我的统计上的Postgres比Lucene的速度更快: http://fr.slideshare.net/billkarwin/full-text-search-in-postgresql -见幻灯片49。

编辑:不知道你要找什么样的速度在在输入/输出的过程,但我们的PostgreSQL数据库可以做到每秒100K查询不费吹灰之力,这甚至不是SSD上。 也许你过思考您的性能需求 - 毕竟,一旦你需要到多个节点(或使用集群采取所有CPU的优势),就需要在进程转储反正。



Answer 4:

全文搜索灯 ,在JS写节点模块做全文搜索纯。 在这里你可以找到当前的Git仓库链接: https://github.com/frankred/node-full-text-search-light



文章来源: Is there a good indexing / search engine for Node.js? [closed]