你好,看起來映射對我不起作用,所以我曾嘗試洗掉索引和重新索引,但總是得到相同的結果。下面是映射的情況和GET搜索端點的回應情況。所以 entry_id 欄位被映射為整數,但以字串形式回傳。
localhost:9200/entries-vlatest/_mapping
{
"entries-v1631182320": {
"mappings": {
"_doc": {
"動態": "false",
"屬性": {
"entry_id": {
"型別": "整數"
}
}
}
}
}
}
從get Search得到的回應 localhost:9200/entries-vlatest/_search
"take": 4,
"timed_out": false,
"_shards": {
"總共": 2,
"成功": 2,
"跳過": 0,
"失敗": 0
},
"點擊率": {
"總數": 1,
"max_score": 1.0,
"點擊率": [
{
"_index": "entries-v1631182320",
"_型別": "_doc",
"_id": "15",
"_score": 1.0,
"_source": {
"entry_id": "15",
}
}
]
}
}
因此,我試著洗掉索引并重新索引
。POST localhost:9200/_reindex
{
"來源"。{
"index": "entries-v1631182320"
},
"目的地": {
"index": "new_index"
}
}
結果。
{
"采取了": 257,
"timed_out": false,
"總數": 1,
"更新": 0,
"創建": 1,
"洗掉": 0,
"batches": 1,
"version_conflicts": 0,
"noops": 0,
"重試"。{
"批量": 0,
"搜索": 0
},
"throttled_millis": 0,
"requests_per_second": -1.0,
"throttled_until_millis": 0,
"失敗"。[]
}
但是再次得到同樣的結果,當我搜索重新索引時 GET localhost:9200/new_index/_search
{
"taken": 2,
"timed_out": false,
"_shards": {
"總計": 5,
"成功": 5,
"跳過": 0,
"失敗": 0
},
"點擊率": {
"總數": 1,
"max_score": 1.0,
"點擊率": [
{
"_index": "novi",
"_型別": "_doc",
"_id": "15",
"_score": 1.0,
"_source": {
"entry_id": "15"
}
}
]
}
}
有什么辦法可以解決這個問題嗎?
uj5u.com熱心網友回復:
它的作業是正確的。你將你的源檔案與entry_id作為一個字串發送,Elasticsearch將不會修改該源檔案,而是按原樣存盤。
然而,entry_id欄位將被索引并按照你的映射中的描述進行存盤,即作為一個整數
如果你想 "看到 "一個整數,那么就在你的源檔案中把這個值添加為一個整數。但最終這并沒有什么區別,該值將被視為并按照你的映射中的規定進行處理,即作為一個整數,即使你在你的檔案中把它作為一個字串發送。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/315194.html
標籤:
