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 您可以在其中定义类型,其中将包含您的应用程序的域。

根据您的情况,您可以将 Object1Object3 定义为类型。 由于 Object2 包含在 Object1 中,您必须将其定义为 object 字段或类型 Object1 内的 nested 字段。

所以你的架构会像

Name Of Index : indexName

indexName 类型:object1object3

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": { ... } }

希望对您有所帮助