2013-10-29 39 views
3

我们有大量的网站,并且因为这是我们第一次使用弹性搜索我不知道我们应该如何配置ES到:Elasticsearch多个站点(来源)

  1. 我们要使用ES作为这些网站的唯一搜索引擎,是否应该为每个网站设置单独的ES实例? (我想这可能需要更多的资源,而不仅仅是一个ES?)(另一方面,将所有文件从所有网站只有一个ES实例会为每个搜索产生太多开销?)
  2. 当我们做搜索,我们将仅在1个特定网站内搜索文档,但是(并且会很好地阻止其他网站搜索不属于他们的文档)
  3. 会很高兴拥有但不是必须的搜索能力如果可能的话在所有站点上的文档。

回答

4

您应该为所有网站设置一个群集。弹性搜索的最大优势在于它可以很好地扩展,所以如果处理来自不同客户端的多个请求,那么对于您的集群来说不应该是一个问题。每个网站应该有一个自己的索引(索引就像容纳你的文档的容器)。 Elasticsearch允许搜索一个或多个索引。这意味着如果你不想要的话,你不会有搜索所有文件的问题。如果您想要覆盖所有指数,每个网站都可以在自己的索引中进行搜索。

+3

我该如何防止网站访问不同网站的索引? – enumag

3

我是ES新手,但我想你可以得到你想要的一个ES实例并设置路由。 http://www.elasticsearch.org/blog/customizing-your-document-routing/

+0

正确,但路由不是必需的。您可以搜索特定的索引(网站)或多个索引(甚至所有网站)。路由优化了搜索请求命中的分片数量。尽管如此,您还是可以使用路由进行搜索,然后点击特定的分片(如果需要也可以是多个分片),或者省略路由。 – javanna