2017-06-23 13 views
1

ネストされたプロパティではないが機能しない特定のフィールドを持たないすべてのドキュメントを返すクエリを作成しようとしています。 私は私が間違って何をやっているES 5.4ElasticSearchのネストされたプロパティのクエリがありません

{ 
    "query": { 
    "bool": { 
     "must_not": [ 
     { 
      "exists": { 
      "field": "shares" 
      } 
     } 
     ] 
    } 
    } 
} 

を使用していますか?

これは、これはあなたがnested data typeマッピングを実施し、nested queryを使用している 動作するはず

{ 
    "test": { 
    "aliases": {}, 
    "mappings": { 
     "vendor": { 
     "properties": { 
      "address": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "categories": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "city": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "displayTypes": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "emailId": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "facebookAppId": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "foursquareType": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "googleTypes": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "hours": { 
      "properties": { 
       "day": { 
       "type": "text", 
       "fields": { 
        "keyword": { 
        "type": "keyword", 
        "ignore_above": 256 
        } 
       } 
       }, 
       "from": { 
       "type": "text", 
       "fields": { 
        "keyword": { 
        "type": "keyword", 
        "ignore_above": 256 
        } 
       } 
       }, 
       "to": { 
       "type": "text", 
       "fields": { 
        "keyword": { 
        "type": "keyword", 
        "ignore_above": 256 
        } 
       } 
       } 
      } 
      }, 
      "isOnBoarded": { 
      "type": "boolean" 
      }, 
      "kiaskCategories": { 
      "type": "keyword" 
      }, 
      "latitude": { 
      "type": "float" 
      }, 
      "location": { 
      "type": "geo_point" 
      }, 
      "longitude": { 
      "type": "float" 
      }, 
      "name": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "phoneNumber": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "pictures": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "placeId": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "price": { 
      "type": "float" 
      }, 
      "rating": { 
      "type": "float" 
      }, 
      "shares": { 
      "type": "nested", 
      "properties": { 
       "_id": { 
       "type": "text", 
       "fields": { 
        "keyword": { 
        "type": "keyword", 
        "ignore_above": 256 
        } 
       } 
       }, 
       "content": { 
       "type": "text", 
       "fields": { 
        "keyword": { 
        "type": "keyword", 
        "ignore_above": 256 
        } 
       } 
       }, 
       "createdDate": { 
       "type": "date" 
       }, 
       "endDate": { 
       "type": "date" 
       }, 
       "facebookLikes": { 
       "type": "long" 
       }, 
       "images": { 
       "type": "text", 
       "fields": { 
        "keyword": { 
        "type": "keyword", 
        "ignore_above": 256 
        } 
       } 
       }, 
       "price": { 
       "type": "long" 
       }, 
       "quantity": { 
       "type": "long" 
       }, 
       "shareType": { 
       "type": "text", 
       "fields": { 
        "keyword": { 
        "type": "keyword", 
        "ignore_above": 256 
        } 
       } 
       }, 
       "startDate": { 
       "type": "date" 
       }, 
       "tags": { 
       "type": "text", 
       "fields": { 
        "keyword": { 
        "type": "keyword", 
        "ignore_above": 256 
        } 
       } 
       } 
      } 
      }, 
      "source": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "state": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "timezone": { 
      "type": "float" 
      }, 
      "url": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "website": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      }, 
      "yelpTypes": { 
      "type": "text", 
      "fields": { 
       "keyword": { 
       "type": "keyword", 
       "ignore_above": 256 
       } 
      } 
      } 
     } 
     } 
    }, 
    "settings": { 
     "index": { 
     "creation_date": "1496319860700", 
     "number_of_shards": "5", 
     "number_of_replicas": "1", 
     "uuid": "0S0A9YN-S-SrW4eeOHX06w", 
     "version": { 
      "created": "5040099" 
     }, 
     "provided_name": "test" 
     } 
    } 
    } 
} 

答えて

0

私のマッピングです。

{ 
    "query" : { 
    "nested": { 
     "path": "shares", 
     "query": { 
     "bool": { 
      "must_not": [ 
      { 
       "exists" : { 
       "field" : "shares._id" 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 
} 

注:次の設定は私のために機能します。

PUT test_index 
{ 
    "mappings": { 
    "document_type" : { 
     "properties": { 
     "name" : { 
      "type": "text" 
     }, 
     "shares" : { 
      "type": "nested" 
     } 
     } 
    } 
    } 
} 

POST test_index/document_type 
{ 
    "name" : "vicky" 

} 

POST test_index/_search 
{ 
    "query": { 
    "nested": { 
     "path": "shares", 
     "query": { 
     "bool": { 
      "must_not": [ 
      { 
       "exists" : { 
       "field" : "shares.city" 
       } 
      } 
      ] 
     } 
     } 
    } 

    } 
} 
+0

が機能しません。 "shares"はネストされたプロパティなので、 "path"は "shares"にする必要がありますか? – Anirudh

+0

あなたは現在のマッピングを貼り付けておけば助けようとします – user3775217

+0

私はマッピングを追加しました – Anirudh

関連する問題