嵌套字段应使用嵌套查询进行搜索:
echo "Deleting old ElasticSearch index..."curl -XDELETe 'localhost:9200/arrtest'echoecho "Creating new ElasticSearch index..."curl -XPUT 'localhost:9200/arrtest/?pretty=1' -d '{ "mappings" : { "cust2" : { "properties" : { "firstName" : { "type" : "string", "analyzer" : "string_lowercase" }, "lastName" : { "type" : "string", "analyzer" : "string_lowercase" }, "paymentInfos": { "properties": { "billingZip": { "type": "string", "analyzer": "string_lowercase" }, "paypalEmail": { "type": "string", "analyzer": "string_lowercase" } }, "type": "nested" } } } }, "settings" : { "analysis" : { "analyzer" : { "uax_url_email" : { "filter" : [ "standard", "lowercase" ], "tokenizer" : "uax_url_email" }, "string_lowercase": { "tokenizer" : "keyword", "filter" : "lowercase" } } } }}'echoecho "Index recreation finished"echo "Inserting one record..."curl -XPUT 'localhost:9200/arrtest/cust2/1' -d '{ "firstName": "john", "lastName": "smith", "paymentInfos": [{ "billingZip": "10101", "paypalEmail": "foo@bar.com" }, { "billingZip": "20202", "paypalEmail": "foo2@bar2.com" }]}'echoecho "Refreshing index to make new records searchable"curl -XPOST 'localhost:9200/arrtest/_refresh' echoecho "Searching for record..."curl -XGET 'localhost:9200/arrtest/cust2/_search?pretty=1' -d '{ "sort": [], "query": { "bool": { "should": [], "must_not": [], "must": [{ "nested": { "query": { "query_string": { "fields": ["paymentInfos.billingZip"], "query": "10101" } }, "path": "paymentInfos" } }] } }, "facets": {}, "from": 0, "size": 25}'echo
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)