2015-11-13 100 views
-1

我试图搜索文档结构如下:弹性搜索将不匹配数组

{ 
     "_index": "XXX", 
     "_type": "business", 
     "_id": "1252809", 
     "_score": 1, 
     "_source": { 
      "url": "http://Samuraijapanese.com", 
      "raw_name": "Samurai Restaurant", 
      "categories": [ 
       { 
       "name": "Cafe" 
       }, 
       { 
       "name": "Cajun Restaurant" 
       }, 
       { 
       "name": "Candy Stores" 
       } 
      ], 
      "location": { 
       "lat": "32.9948649", 
       "lon": "-117.2528171" 
      }, 
      "address": "979 Lomas Santa Fe Dr", 
      "zip": "92075", 
      "phone": "8584810032", 
      "short_name": "samurai-restaurant", 
      "name": "Samurai Restaurant", 
      "apt": "", 
      "state": "CA", 
      "stdhours": "", 
      "city": "Solana Beach", 
      "hours": "", 
      "yelp": "", 
      "twitter": "", 
      "closed": 0 
     } 
    } 

搜索它的URL,RAW_NAME,地址等,所有的工作,但搜索的类别回报没有。我试图寻找像这样:如果我转什么别的中为categories.name它的工作原理:

"query": { 
    "filtered" : { 
    "filter" : { 
     "geo_distance" : { 
      "location" : { 
       "lon" : "-117.15726", 
       "lat" : "32.71533" 
      }, 
      "distance" : "5mi" 
     } 
    }, 
    "query" : { 
     "multi_match" : { 
      "query" : "Cafe", 
      "fields" : [ 
       "categories.name" 
      ] 
     } 
    } 
    } 


}, 
    "sort": [ 
    { 
    "_score" : { 
     "order" : "desc" 
    } 
    }, 
    { 
     "_geo_distance": { 
     "location": { 
      "lat": 32.71533, 
      "lon": -117.15726 
     }, 
     "order": "asc", 
     "sort_mode": "min" 
     } 
    } 
    ], 
    "script_fields": { 
    "distance_from_origin": { 
     "script": "doc['location'].arcDistanceInKm(32.71533,-117.15726)" 
    } 
    }, 
    "fields": ["_source"], 
    "from": 0, 
    "size": 10 
} 

如果我转了,例如,categories.name与地址,并改变搜索词洛马斯,它返回结果

+0

可否请您发布字段类别的映射? – ChintanShah25

+0

我该怎么做? –

+0

通过调用curl -XGET localhost:9200/XXX/_mapping/business/field/categories# – Val

回答

0

没有看到您的类型映射我无法明确地回答,但我想你已经将类别映射为nested。当查询类型nested(与object相反)的子文件时,您必须使用nested query