elasticsearch,postgresql-9.1,Curl,elasticsearch,Postgresql 9.1" /> elasticsearch,postgresql-9.1,Curl,elasticsearch,Postgresql 9.1" />

curl中的Postgresql查询

curl中的Postgresql查询,curl,elasticsearch,postgresql-9.1,Curl,elasticsearch,Postgresql 9.1,我有一个Postgresql 9.1表,其中包括“city”、“admin1”和“country”列。我想选择输出格式为“city,admin1,country”的唯一值 我可能有多份纽约和明尼苏达州罗切斯特的参赛作品,但我只想要一份。这是为了填充弹性搜索索引,我使用 以下选择符合我在PGAdmin3的SQL编辑器中的要求: SELECT city || ', ' || admin1 || ', ' || country AS city FROM table GROUP BY city, adm

我有一个Postgresql 9.1表,其中包括“city”、“admin1”和“country”列。我想选择输出格式为“city,admin1,country”的唯一值

我可能有多份纽约和明尼苏达州罗切斯特的参赛作品,但我只想要一份。这是为了填充弹性搜索索引,我使用

以下选择符合我在PGAdmin3的SQL编辑器中的要求:

SELECT city || ', ' || admin1 || ', ' || country AS city FROM table GROUP BY city, admin1, country;
但在以下方面失败了

curl -XPUT 'localhost:9200/_river/nibbel_river/_meta' -d '{

           "type" : "jdbc",
           "jdbc" : {
               "driver" : "org.postgresql.Driver",
               "url" : "jdbc:postgresql://localhost:5432/table",
               "user" : "",
               "password" : "",
           "sql" : "SELECT city || ', ' || admin1 || ', ' || country AS city FROM everything GROUP BY city, admin1, country",
           "poll" : "7d"
           },
           "index" : {
               "index" : "city",
               "type" : "everything"
           }
       }'
带着错误

curl: (6) Couldn't resolve host ' || admin1 || ,'
curl: (3) [globbing] unmatched close brace/bracket at pos 102
{"error":"MapperParsingException[Failed to parse [jdbc.sql]]; nested: JsonParseException[Unexpected end-of-input in VALUE_STRING\n at [Source: [B@1192b0c; line: 8, column: 565]]; ","status":400}

这是什么语法?

查询中的所有撇号都必须像这样转义:
\'\'
例如:

curl -XPUT 'localhost:9200/_river/nibbel_river/_meta' -d '{
    "type" : "jdbc",
    "jdbc" : {
        "driver" : "org.postgresql.Driver",
        "url" : "jdbc:postgresql://localhost:5432/table",
        "user" : "",
        "password" : "",
        "sql" : "SELECT city || '\'', '\'' || admin1 || '\'', '\'' || country AS city FROM everything GROUP BY city, admin1, country",
        "poll" : "7d"
    },
    "index" : {
        "index" : "city",
        "type" : "everything"
    }
}'

查询中的所有撇号都必须像这样转义:
'\'
,例如:

curl -XPUT 'localhost:9200/_river/nibbel_river/_meta' -d '{
    "type" : "jdbc",
    "jdbc" : {
        "driver" : "org.postgresql.Driver",
        "url" : "jdbc:postgresql://localhost:5432/table",
        "user" : "",
        "password" : "",
        "sql" : "SELECT city || '\'', '\'' || admin1 || '\'', '\'' || country AS city FROM everything GROUP BY city, admin1, country",
        "poll" : "7d"
    },
    "index" : {
        "index" : "city",
        "type" : "everything"
    }
}'