我有一个具有以下结构的文档索引:
{
...
"similar_objects": {
"2": 0.35,
"15": 0.75,
"268": 0.13,
"356": 0.82,
"1024": 0.96,
}
}
similar_objects
中字段的键是对象ID,而值是相似性的度量。
这是一个问题,原因有两个:1)我希望能够搜索对象ID,如果它们本身是字段,我不知道该怎么做,以及2)作为索引中的文档以及所描述的对象数在增长,索引字段的总数迅速超过了1000个限制。我可以提高该限制,但不能保证不会超过该限制,我相信最终会造成内存问题。
理想情况下,数据将转换为以下形式:
{
...
"similar_objects": {
{
"object_id": "2",
"similarity": 0.35
},
{
"object_id": "15",
"similarity": 0.75
},
{
"object_id": "268",
"similarity": 0.13
},
{
"object_id": "356",
"similarity": 0.82
},
{
"object_id": "1024",
"similarity": 0.96
}
}
}
然后,我可以将similar_objects
映射为嵌套类型,并以直接的方式轻松地搜索对象及其相似性得分,而没有任何超出限制的危险。
是否可以使用ES功能在不编制索引之前更改文档的任何方式?似乎应该以某种方式将其他字段映射为具有key
和value
字段的对象。