0

我正在面對彈性搜索實體中布爾型字段的一個問題。
在實體我已經有一個布爾字段本其是Spring數據Elasticsearch @Field布爾在映射中創建兩個字段

@Field(type = FieldType.Boolean) 
private boolean isClosed; 

當我看到的映射它創建兩個映射如下所示。

"isClosed": { 
    "type": "boolean" 
}, 
"closed": { 
    "type": "boolean" 
} 

我想知道爲什麼它創建這樣的映射任何建議都會有所幫助。

+0

您是如何創建索引的?您是否正在創建任何映射? – Kulasangar

+0

沒有當我啓動服務器彈簧數據彈性搜索是第一次創建索引期間創建此映射。 – sumanth

回答

0

原因很可能是違反慣例。

公約:

private boolean closed; 

public boolean isClosed() { 
    return closed; 
} 

因此需要isClosed作爲一個變量,但也被關閉,因爲你很可能有isClosed()的getter這將導致封閉在彈性變量。

您的文檔頂層是否有@Mapping(mappingPath ="xxx")?這將覆蓋任何@Field和基於傳統名稱的索引。