当couchbase与弹性搜索插件集成时,这更像是一个设计问题。我在之前的产品中使用了couchbase和Multitenance,我们遵循了couchbase博客上的第一个建议,即所有租户使用单一couchbase Bucket。
目前,我们正在研究利用Couchbase弹性搜索插件对Couchbase数据进行弹性搜索。通过Couchbase弹性搜索插件留档(安装和设置)我意识到,你将能够只映射一个Couchbase桶
到一个elasticsearch索引
。留档可以在这里找到Elasticsearch插件配置和连接到群集。现在在这种情况下,就像Couchbase桶一样,所有文档(无论租户)都将驻留在同一索引中。
这是我的问题。无论文档如何存储在couchbase中,我希望elasticsearch的索引为每个租户。我还不太熟悉这两个系统之间的集成,但我假设每个租户都有单独的搜索索引(每个租户/索引都有自己的许多不同类型),可以非常明确地1)提高每个租户的搜索性能2)特定租户上特定搜索查询的性能可能只有最少的数据集不会受到其他租户在同一索引上拥有大量数据集的影响(尽管不合理,假设租户之间的数据集相差50倍)
我想知道的是,我的担忧是否有效。将所有租户索引在一起会影响搜索查询的性能吗?如果是这样,任何人有任何解决方案,如何使用Couchbase弹性搜索插件实现这一点?
感谢所有的帮助和想法!
使用该插件时,没有简单的方法将来自单个Couchbase桶的数据分离到不同的ElasticSearch索引。你可以做的是在弹性搜索中给不同的帐篷不同的类型,同时仍然保持它们在同一个索引中。这将提高搜索性能,并使CB和ES之间的临时管理一致。
要将不同的文档从CB映射到不同的ES类型,请使用传输插件的类型选择器功能,如下所述:http://docs.couchbase.com/admin/elastic/adv-usage.html(向下滚动到名为设置文档类型的部分)
我们计划为我们的多租户应用引入弹性搜索(AWS)。我们有以下几种选择, 每个租户使用一个索引 每个租户使用一种类型 所有租户与自定义路由共享一个索引 根据这个博客https://www.elastic.co/blog/found-multi-tenancy第一个选项会导致内存问题。但不清楚还有其他选择。 似乎如果我们使用第三个选项,那么就没有数据分离。不确定安全性。 我相信第二种选择会更好,因为数
我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。
我正在尝试在多个集群(而不是节点)中插入记录。我正在使用spring-data-elastic search(版本2.0.4.version)。我尝试使用不同bean名称在配置中创建2个elasticsearchoperation实例。我正在尝试使用带有索引(IndexQuery IndexQuery)方法的对象进行插入。但当我尝试插入时,我无法保持字段的映射(非分析字段类型)。可以有人请帮助我如
我有大量相同类型的实体,每个实体都有大量属性,并且我只有以下两种选择来存储它们: 将每个项存储在索引中并执行多索引搜索 将所有enties存储在单个索引中,并且只搜索1个索引。 一般而言,我想要一个时间复杂度之间的比较搜索“N”实体与“M”特征在上述每一种情况!
当我执行ps-aef grep elasticsearch HeapDumpOnOutOfMemoryError时看到了这一点 501 373 47 1 0 2:29pm ttys004 0:04.14/usr/bin/Java-xms4g-xmx4g-xss256k-djava.awt.headless=true-xx:+useparnewgc-xx:+useparnewgc-xx:+usepa
我从ElasticSearch得到以下错误。 我在Ubuntu上运行Elasticsearch 1.7.2。 我做错了什么?