0
有人可以让我知道在什么基础上我们应该选择哪个Java实体对象应该在elasticsearch中键入“INDEX”,哪个对象应该是“TYPE”类型的?ElasticSearch索引 - 选择Java对象进行索引?
让我们加工对象物1,2,3
对象1具有对象2.对象的列表3是另一个单独的对象。
在这种情况下,这应该是“INDEX”,哪些应该是“TYPE”
有人可以让我知道在什么基础上我们应该选择哪个Java实体对象应该在elasticsearch中键入“INDEX”,哪个对象应该是“TYPE”类型的?ElasticSearch索引 - 选择Java对象进行索引?
让我们加工对象物1,2,3
对象1具有对象2.对象的列表3是另一个单独的对象。
在这种情况下,这应该是“INDEX”,哪些应该是“TYPE”
这实际上取决于你。您可以为所有域创建单独的索引,也可以使用应用程序的名称或其他名称创建index
。然后,可以在其中定义包含应用程序域的类型。
根据您的情况,您可以将Object1
和Object3
定义为类型。 由于Object2
包含在Object1中,因此您必须将其定义为object
字段或nested
字段,其内部类型为Object1
。
所以,你的建筑会像
Name Of Index
:indexName
indexName
类型:object1
和object3
object1
将有nested或object字段类型的object2
。
步骤将..
PUT /indexName
PUT indexName/object1/_mapping { "properties": { "object2": { "type": "nested" //this can be "object" as well } } }
PUT indexName/object3/_mapping { "properties": { ... } }
希望这有助于
哪家好?作为嵌套对象或只有另一个内部元素 – user2526641
这取决于您的要求。在https://www.elastic.co/blog/managing-relations-inside-elasticsearch上查看两者之间的区别以查看使用哪一个。 – Richa