【发布时间】:2017-10-06 06:38:03
【问题描述】:
我有一个如下所示的 JSON 文件:
{'name':'John Doe',
'work':[{
'company':'Google',
'duration':'2 years',
'desc':'some long text'},
{
'company':'Yahoo',
'duration':'3 years',
'desc':'some long text'}]}
工作中可能有许多条目,从 0 到未知。 如何定义 elasticsearch 映射以使其自动存储。
我尝试过这样的事情:
from elasticsearch import elasticsearch
mapping:{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
},
"man":{
"properties": {
"name":{"type":"text"},
"work":{
"properties": {
"company" : {"type":"text"},
"duration": {"type":"text"},
"desc": {"type":"text"}
}
}
}
}
}
es = Elasticsearch()
if es.indices.exists("test"):
es.indices.delete(index="test")
es.indices.create("test")
es.indices.put_mapping(index="test", doc_type="man", body=mapping)
请帮助我。谢谢。
【问题讨论】:
-
您的映射看起来不错。你试过了吗?发生了什么?
-
您能否提供更多有关问题所在的信息?您是否正在尝试创建嵌套对象? Elastic 会自动创建映射,如果您不使用特殊的分析器或字段,您不需要显式创建它们吗?
-
@FilipCordas- 是的,我正在尝试创建一个嵌套对象
-
@Val - 我试过了,它最终操纵了映射
-
@Val - 我想知道“man”是否有多个值,在其中,可以有多个公司。我该怎么做?
标签: python python-2.7 python-3.x elasticsearch elasticsearch-5