0

ES で percolate クエリを使用しています。ただし、bool クエリと sort クエリはマージしません。

私の目的:今日追加された製品の価格を並べ替えます。

私の既存のインデックス

        PUT /product-alert
        {
            "mappings": {
                "doctype": {
                    "properties": {
                        "product_name":    { "type": "text"  }, 
                        "price": { "type": "double"},
                        "user_id":      { "type": "integer" },
                        "date" : { "type": "date" }
                    }
                },
                "queries": {
                    "properties": {
                        "query": {
                            "type": "percolator"
                        }
                    }
                }
            }
        }

次のエラーがあります。

  {
    "error": {
      "root_cause": [
        {
          "type": "illegal_argument_exception",
          "reason": "mapper [sort] of different type, current_type [text], merged_type [ObjectMapper]"
        }
      ],
      "type": "illegal_argument_exception",
      "reason": "mapper [sort] of different type, current_type [text], merged_type [ObjectMapper]"
    },
    "status": 400
  }

エラスティック クエリ:

    PUT /product-alert/queries/1?refresh
    {
          "query": {
              "bool": {
                  "must": [
                      {
                          "query_string": {
                              "query": "(product_name:iphone)"
                          }
                      },
                      {
                          "range": {
                              "created_at": {
                                  "gte": "2017-05-12",
                                  "lte": "2017-05-12",
                                  "include_lower": true,
                                  "include_upper": true
                              }
                          }
                      }
                  ]
              }
          },
          "from": 0,
          "size": 200,
          "sort": [
              {
                  "price": {
                      "order": "asc"
                  }
              },
              "_score"
          ]
    }

私のせいはどこですか?ソート作業 'sort':'_score' のみですが、私にはいたずらです。

前もって感謝します

4

0 に答える 0