目前,我正在尝试elassandra(elasticsearch和cassandra的组合)。在那里,我有一个带有表的现有cassandra键空间,并希望创建到elasticsearch的Map,以便可以使用elasticsearch api来搜索/过滤数据。
不幸的是,它不工作,我不知道为什么这是。
首先,我向elasticsearch http端点发出put请求以创建Map:
{
"settings": {
"keyspace": "my_keyspace"
},
"mapping": {
"sensordatatable": {
"discover": ".*"
},
"eventtable": {
"discover": ".*"
}
}
}
我得到的答案是:
{
"error": {
"root_cause": [
{
"type": "settings_exception",
"reason": "Cannot create index, underlying keyspace requires the NetworkTopologyStrategy."
}
],
"type": "settings_exception",
"reason": "Cannot create index, underlying keyspace requires the NetworkTopologyStrategy."
},
"status": 500
}
在这个岗位上(https://github.com/strapdata/elassandra/issues/44#issuecomment-253055846)也有人使用 SimpleStrategy
这似乎对他有用。有人能解释我为什么要用这个吗 NetworkTopologyStrategy
?
1条答案
按热度按时间kyxcudwk1#
从elassandra 5+开始,仅
NetworkTopologyStrategy
支持,但不存在阻止支持的技术问题SimpleStrategy
也。NetworkTopologyStrategy
通常是首选,因为它允许您扩展多个数据中心。顺便说一下,您正在尝试在两个表上创建索引。但自从版本6以来,elasticsearch只支持每个索引的一种类型。如果需要在同一键空间中索引两个表,可以创建两个单独的索引:
以及: