Indexing 路由弹性搜索文档索引问题
在创建一个包含多个作者但只属于11种不同出版物子集的书籍索引时,我打算在单个节点上创建11个索引碎片 显然,我映射的路由部分看起来像Indexing 路由弹性搜索文档索引问题,indexing,elasticsearch,sharding,Indexing,elasticsearch,Sharding,在创建一个包含多个作者但只属于11种不同出版物子集的书籍索引时,我打算在单个节点上创建11个索引碎片 显然,我映射的路由部分看起来像 "book":{ "_routing":{ "required":true, "path":"publication" },.... 出版物本身是一个字符串,可以有11种不同类型 映射的设置部分如下所示 body: { settings: { index: {
"book":{
"_routing":{
"required":true,
"path":"publication"
},....
出版物
本身是一个字符串,可以有11种不同类型
映射的设置
部分如下所示
body: {
settings: {
index: {
number_of_shards: 11,
number_of_replicas: 1
}
},....
我面临的问题是,不同的出版物
的文档已被索引到相同的碎片
,而在我查看books/\u status
和books/\u段
查询的结果后,一些碎片是空的
我研究了重新路由
API,但显然应该寻找其他问题
在指定路由之后,文档的这种不平等分布正诱使我完全放弃路由
我使用的版本是0.90.5。路由不高估碎片上的所有项目都具有相同的路由密钥,它将确保共享路由密钥的所有文档都位于同一分片上 下面引用一句话: 这个碎片几乎肯定有其他的文件 致用户123。传送可确保特定传送的文档 所有值都指向同一个碎片…但这并不意味着另一个 文档也不会路由到碎片
路由不会保证一个分片上的所有项目都有相同的路由密钥,它会确保共享路由密钥的所有文档都在同一个分片上 下面引用一句话: 这个碎片几乎肯定有其他的文件 致用户123。传送可确保特定传送的文档 所有值都指向同一个碎片…但这并不意味着另一个 文档也不会路由到碎片
谢谢你的澄清。我应该自己找到的。谢谢你的澄清。我应该自己找到的。