2012-02-01 38 views
5

Làm cách nào để thực hiện tìm kiếm được lọc trong Tìm kiếm Đàn hồi trên một trường đối tượng phụ? Ví dụ, tài liệu của tôi có một id, và một data lĩnh vực mà là một mảng JSON về cách thức dữ liệu được lưu trữ trong cơ sở dữ liệu của tôi:Tìm kiếm được lọc tìm kiếm cho các trường đối tượng phụ

{_id: 000, merchant: "merchant_1", email: "[email protected]"}

truy vấn tìm kiếm của tôi:

"query": { 
    "filtered": { 
     "filter": { "term": { "data.merchant": "merchant_1"} }, 
     "query": { 
      "query_string": {"query": "hello"} } 
     } 
    } 
} 

doesn' t trả về bất cứ điều gì, nhưng làm một truy vấn chỉ với query_string hello trả về các hàng chính xác. Thay đổi "data.merchant" =>"merchant" cũng không thay đổi gì cả.

Tôi có làm gì sai ở đây không?

Cập nhật: Tôi đã kết thúc bằng cách sử dụng truy vấn boolean, hoạt động.

Trả lời

0
"query": { 
    "filtered": { 
     "filter": { "term": { "data.merchant": "merchant_1"} }, 
     "query": { 
      "query_string": { 
       "default_field": "_all", 
       "query": "hello" 
      } 
     } 
    } 
} 

Điều này sẽ phù hợp với trường hợp của bạn.

Các vấn đề liên quan