簡體   English   中英

Elasticsearch的映射格式

[英]Mapping format on elasticsearch

我打算通過elasticsearch將json文檔上傳到我的服務器,但是我想先映射它,然后再上傳,但是我一直收到搜索階段執行異常錯誤。 json數據看起來像這樣

{"geometry":{"type":"Point","coordinates":[-73.20266100000001,45.573647]},"properties":{"persistent_id":"XVCPFsbsqB7h4PrxEtCU3w==","timestamp":1408216040000,"tower_id":"10.48.66.178"}}

到目前為止,我已經嘗試過將其作為映射。 我不確定我在做什么錯...

curl –XPUT 'http://localhost:9200/carrier/_search?q=coordinates?pretty=true' -d'
{ “geometry”: {
“type” : {“type” : “string”},
“coordinates” : {“type”  : “geo_point”}
},
“properties” : { 
“persistent_id” : {“type” : “string”},
“timestamp”: { “type” : “long”},
“tower_id” : {“type” : “string”}
}'

這是因為您使用_search端點來安裝映射。

您必須改為使用_mapping端點,如下所示:

curl –XPUT 'http://localhost:9200/carrier/_mapping/geometry' -d '{
    ...your mapping...
}'

這里有一些問題。 首先,您需要使用放置映射請求而不是搜索請求。 請求的主體必須以類型的名稱開頭,后跟要添加的properties (字段)列表。 第二個問題是您可能從某些文檔中復制了該示例,在該文檔中,所有ascii引號( " )被替換為它們的特殊unicode版本( ),而XPUT參數前面的破折號看起來像n-dash 而不是普通破折號-您需要將所有花哨的引號和破折號替換為它們的ascii版本,因此,所有的工作聲明應如下所示(假設doc為您的文檔類型):

curl -XPUT 'http://localhost:9200/carrier/doc/_mapping' -d '{
    "doc": {
        "properties": {
            "geometry": {
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "coordinates": {
                        "type": "geo_point"
                    }
                }
            },
            "properties": {
                "properties": {
                    "persistent_id": {
                        "type": "string"
                    },
                    "timestamp": {
                        "type": "long"
                    },
                    "tower_id": {
                        "type": "string"
                    }
                }
            }

        }
    }
}'

那么您可以像這樣添加文檔:

curl -XPUT 'http://localhost:9200/carrier/doc/1' -d '{"geometry":{"type":"Point","coordinates":[-73.20266100000001,45.573647]},"properties":{"persistent_id":"XVCPFsbsqB7h4PrxEtCU3w==","timestamp":1408216040000,"tower_id":"10.48.66.178"}}'

請注意,要添加映射,如果您已經嘗試向該索引添加文檔並且已經創建映射,則可能需要刪除並重新創建索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM