elasticsearch,Javascript,Api,Solr,elasticsearch" /> elasticsearch,Javascript,Api,Solr,elasticsearch" />

Javascript 使用Solr或ElasticSearch作为API最佳实践

Javascript 使用Solr或ElasticSearch作为API最佳实践,javascript,api,solr,elasticsearch,Javascript,Api,Solr,elasticsearch,我正在考虑对一些客户端javascript应用程序使用Solr或ElasticSearch。在一个例子中,我可以直接调用API 我对这个概念很陌生,首先想到的是如何避免安全相关的问题,比如人们对API发出删除命令?将搜索API隐藏在一个层后面是否合适,比如客户端与之交互的小型PHP或Sinatra API 谢谢 您可以添加充当代理的层,但最好的方法是使用复制(两个或多个实例-) 这样,您总是有一个有效的、强大的、通常是私有的主索引,您可以在其上添加、删除和执行任何您想要的操作,还有一个从属索引,

我正在考虑对一些客户端javascript应用程序使用Solr或ElasticSearch。在一个例子中,我可以直接调用API

我对这个概念很陌生,首先想到的是如何避免安全相关的问题,比如人们对API发出删除命令?将搜索API隐藏在一个层后面是否合适,比如客户端与之交互的小型PHP或Sinatra API


谢谢

您可以添加充当代理的层,但最好的方法是使用复制(两个或多个实例-)


这样,您总是有一个有效的、强大的、通常是私有的主索引,您可以在其上添加、删除和执行任何您想要的操作,还有一个从属索引,它只是主索引的副本,并且只提供查询API。

您可以添加一个充当代理的层,但最好的方法是使用复制(两个或多个实例-)

这样,您总是有一个有效、强大且通常是私有的主索引,您可以在其上添加、删除和执行任何您想要的操作,还有一个从属索引,它只是主索引的副本,并且只提供查询API

将搜索API隐藏在一个层后面是否合适,比如客户端与之交互的小型PHP或Sinatra API

如果你关心安全,答案无疑是-
NodeJS非常适合这类东西:授权客户机请求,将查询发送到elasticsearch/solr,然后将其发送回客户机(返回时有或没有数据处理)。如果您有很多连接(NodeJS非常适合这类事情),PHP就不太适合了


请参阅elasticsearch博客的第二部分。这里有一个很好的代理示例和一个简单的示例

有关引述如下:

通过利用elasticsearch公开HTTP API这一事实,这一切都是可能的。通过在它前面放置一个代理,我们可以将身份验证和授权例程隔离到单独的组件中,有效地分解堆栈中的职责,并允许更好地测试各个部分

将搜索API隐藏在一个层后面是否合适,比如客户端与之交互的小型PHP或Sinatra API

如果你关心安全,答案无疑是-
NodeJS非常适合这类东西:授权客户机请求,将查询发送到elasticsearch/solr,然后将其发送回客户机(返回时有或没有数据处理)。如果您有很多连接(NodeJS非常适合这类事情),PHP就不太适合了


请参阅elasticsearch博客的第二部分。这里有一个很好的代理示例和一个简单的示例

有关引述如下:

通过利用elasticsearch公开HTTP API这一事实,这一切都是可能的。通过在它前面放置一个代理,我们可以将身份验证和授权例程隔离到单独的组件中,有效地分解堆栈中的职责,并允许更好地测试各个部分


我怎么能忽视nodejs:)是的。NodeJS正适合这种情况。。速度、并发性和简单性。您还可以将其作为一个单独的进程运行,在与主站点不同的cpu上—这将为您提供一个非常精简且易于维护的服务器。NodeJS正适合这种情况。。速度、并发性和简单性。您还可以将其作为一个单独的进程运行,在与主站点不同的cpu上运行,这将为您提供一个非常精简且易于维护的服务器。使用主服务器和从服务器进行搜索是标准做法吗?通过Solr,我知道索引大量数据可能会带来巨大的性能问题,我的理解是ES的优势之一。我认为这是一个标准,但可能我错了。我只和Solr一起工作过,里面的文档不超过80万个——我想尝试ES,但在能够做到这一点之前,我换了一份工作。我们始终采用主从式设计,以确保安全和易于使用。您可以在主服务器中编制索引并执行任何您想执行的操作,而从服务器始终可供公众使用。然后,当主服务器运行良好时,从服务器复制(非常快)。这种设计让你永远不会让你的公共索引忙碌,也不会准备好被查询。有一个主索引和一个从索引进行搜索是标准的做法吗?通过Solr,我知道索引大量数据可能会带来巨大的性能问题,我的理解是ES的优势之一。我认为这是一个标准,但可能我错了。我只和Solr一起工作过,里面的文档不超过80万个——我想尝试ES,但在能够做到这一点之前,我换了一份工作。我们始终采用主从式设计,以确保安全和易于使用。您可以在主服务器中编制索引并执行任何您想执行的操作,而从服务器始终可供公众使用。然后,当主服务器运行良好时,从服务器复制(非常快)。这种设计使您永远不会让公共索引处于繁忙状态,也不会准备好被查询