1
我試圖導入與Postgres的嵌套對象的一些數據使用json_agg到elasticsearch,但ES不保存像嵌套對象的數據,但保存這樣JSON領域從Postgres的進口elasticsearch
"some_objects": {"type": "json", "value": "[{\"a\":\"1\"}]"}
而不是:
"some_objects": [{"a":"1"}]
它每次都發生,當我在查詢中使用json類型(我通過「logstash」導入數據)。 如果我需要導入連接的對象,我使用hstore,它的作品,但我不能使用hstore多個對象,並且不幸的是我不能數組而不是json。
我使用的是進口數據的SQL看起來像這樣
SELECT a.*,
(SELECT json_agg(hstore(so)) AS some_objects FROM
(SELECT * FROM c WHERE a.id=c.a_id) AS so),
(SELECT hstore(ao) AS another_object FROM (SELECT b.*) AS ao),
FROM a_table AS a
LEFT OUTER JOIN b ON a.id=b.a_id
在映射數據elasticsearch我設置:
...
"some_objects": {
"type": "nested"
},
"b": {
"type": "object"
}
併成功適用於「B」,並沒有按不爲「some_objects」工作。顯然它依賴於json在postgres中的類型。 任何想法如何我可以解決它?
非常感謝。
它看起來像這樣http://stackoverflow.com/questions/21081196/jdbc-elasticsearch-and-postgresql-json-data-type-solved,但我不使用河水 – Alexey