【发布时间】:2017-06-03 16:07:28
【问题描述】:
我是iOS Swift 开发人员,我在我的应用程序中使用ElasticSearch。我正在努力思考如何在ES 中声明type,type 和document 之间的区别是什么,与object/data model 最相似。
在Swift 中,我会像这样创建object 或data model:
class Sneakers {
var condition: String?
var name: String?
}
这就是说我创建了一个名为 Sneakers 的对象,它具有 2 个属性:Optional(问号)类型为 String 的“条件”和“名称”。
我知道要创建我的 ES 并将其设置为 Index 我使用以下内容:
curl -XPOST <bonsai_url>/myIndexName //I'm using Heroku & Bonsai for my ES cluster
然后我可以设置这样的类型
curl -XPOST <bonsai_url>/myIndexName/sneakerType
我迷失的是如何设置索引以使用我的 Sneakers 数据模型作为搜索参考?在我的应用中,用户可以根据运动鞋名称(耐克、阿迪达斯等)和状况(旧、新、旧等)搜索鞋类。
我知道是这样的
curl -XPOST <bonsai_url>/myIndexName/sneakerType -d '
{
"sneakers": {
"properties": {
"condition": {
"type": string
},
"name": {
"type": string
}
}
}
}
'
我的问题在 ES 中:
-
type和document有什么区别 -
fields是否等同于properties? - 创建
index名称和type后,如何将type设置为 请参考我的data model,它是properties,以便可以搜索到 - 我的最后一个问题是
_mapping的用途是什么,我应该在 curl 命令中使用它吗?
【问题讨论】:
标签: curl elasticsearch types document datamodel