ElasticSearch 索引 - 选择 java 个对象进行索引?
ElasticSearch Indexing - Selecting java objects for indexing?
有人可以让我知道在什么基础上我们应该 select 在 elasticsearch 中哪个 java 实体对象应该是类型 "INDEX" 以及哪个对象应该是类型 "TYPE" ??
让我们有对象 1、2、3
对象 1 包含对象 2 的列表。对象 3 是另一个单独的对象。
在这种情况下,哪个应该是 "INDEX",哪个应该是 "TYPE"
这实际上取决于你。您可以为所有域创建一个单独的索引,或者您可以使用您的应用程序的名称创建 index
或 something.Then 您可以在其中定义类型,其中将包含您的应用程序的域。
根据您的情况,您可以将 Object1
和 Object3
定义为类型。
由于 Object2
包含在 Object1 中,您必须将其定义为 object
字段或类型 Object1
内的 nested
字段。
所以你的架构会像
Name Of Index
: indexName
indexName
类型:object1
和 object3
object1
将具有 nested or object 字段类型 object2
。
步骤是..
PUT /indexName
PUT indexName/object1/_mapping
{
"properties": {
"object2": {
"type": "nested" //this can be "object" as well
}
}
}
PUT indexName/object3/_mapping
{
"properties": {
...
}
}
希望对您有所帮助
有人可以让我知道在什么基础上我们应该 select 在 elasticsearch 中哪个 java 实体对象应该是类型 "INDEX" 以及哪个对象应该是类型 "TYPE" ??
让我们有对象 1、2、3
对象 1 包含对象 2 的列表。对象 3 是另一个单独的对象。
在这种情况下,哪个应该是 "INDEX",哪个应该是 "TYPE"
这实际上取决于你。您可以为所有域创建一个单独的索引,或者您可以使用您的应用程序的名称创建 index
或 something.Then 您可以在其中定义类型,其中将包含您的应用程序的域。
根据您的情况,您可以将 Object1
和 Object3
定义为类型。
由于 Object2
包含在 Object1 中,您必须将其定义为 object
字段或类型 Object1
内的 nested
字段。
所以你的架构会像
Name Of Index
: indexName
indexName
类型:object1
和 object3
object1
将具有 nested or object 字段类型 object2
。
步骤是..
PUT /indexName
PUT indexName/object1/_mapping { "properties": { "object2": { "type": "nested" //this can be "object" as well } } }
PUT indexName/object3/_mapping { "properties": { ... } }
希望对您有所帮助