Node.js 为运行服务器的大型XML数据库(10GB-1TB数据)创建在线搜索引擎
我一直在使用Node.js创建一个网站,最终将能够搜索谷歌专利授权数据库,该数据库以XML格式提供数据。我一直在使用MongoDB作为用户数据库,但有人告诉我,他们在使用MongoDB创建快速搜索引擎时遇到了很多困难,他们还说它变得非常庞大。我应该结合Node.js使用什么数据库技术/软件来创建高效的搜索引擎?在一个网站上运行两种不同的数据库技术,例如MongoDB和PostgreSQL,这会是一个坏主意吗?我在github上发现了一种叫做Norch的技术。这项技术会有帮助吗?你将很难在文本搜索中与Postgres或mongodb匹配或击败lucene。因此,Solr或Elasticsearch是更好的选择(它们都使用lucene) 也就是说,大多数人仍然将数据存储在搜索索引以外的其他地方,从而在搜索索引和数据存储库之间实现某种同步 根据评论进行编辑: Solr和Postgres就是一个例子。Solr将是您的搜索引擎,Postgres将是您的数据存储库。然后,您可以使用从Postgres中提取数据。这里是Norch的作者 目前,Solr和Elasticsearch可能是最常用的搜索技术,这是有充分理由的——它们现在非常成熟、强大且用户友好。 Norch非常适合以下情况:Node.js 为运行服务器的大型XML数据库(10GB-1TB数据)创建在线搜索引擎,node.js,search-engine,Node.js,Search Engine,我一直在使用Node.js创建一个网站,最终将能够搜索谷歌专利授权数据库,该数据库以XML格式提供数据。我一直在使用MongoDB作为用户数据库,但有人告诉我,他们在使用MongoDB创建快速搜索引擎时遇到了很多困难,他们还说它变得非常庞大。我应该结合Node.js使用什么数据库技术/软件来创建高效的搜索引擎?在一个网站上运行两种不同的数据库技术,例如MongoDB和PostgreSQL,这会是一个坏主意吗?我在github上发现了一种叫做Norch的技术。这项技术会有帮助吗?你将很难在文本搜索
还有一些其他的角落案例,Norch是好的/最好的,但上面提到的是主要的案例。您是否考虑过使用多个数据库?是的,关于这样做的利弊有什么见解?您能提供更多细节吗?你是说你可以在MongoDB或Postgres中使用Solr或Elasticsearch,这就是为什么它比lucene更好的选择。lucene只是一个库。Solr和Elasticsearch在封面下使用lucene。至于数据同步,我会更新我的答案。