2014-06-10 12 views
16

Tôi đang cố gắng để làm bộ lọc sau hạnBộ lọc thuật ngữ Elasticsearch không hoạt động?

{ 
    "query": { 
    "term": { 
     "name": "terry harvey" 
    } 
    } 
} 

và tôi nhận được 0 trúng

{ 
    took: 3 
    timed_out: false 
    _shards: { 
    total: 5 
    successful: 5 
    failed: 0 
} 
hits: { 
    total: 0 
    max_score: 0 
    hits: [ ] 
    } 
} 

Khi tôi sử dụng "bộ lọc phù hợp" thay vì "bộ lọc hạn", tôi nhận được 48 lượt truy cập.

Tôi đang làm gì sai? = (

Cảm ơn!

Trả lời

19

truy vấn hạn và bộ lọc không được phân tích, có nghĩa là họ sẽ chỉ tìm thấy chính xác phù hợp. Mặt khác, các truy vấn phù hợp được phân tích và lĩnh vực tên của bạn có lẽ đang được phân tích là tốt. Thông tin thêm here

+0

Tôi hiểu nhưng làm cách nào tôi có thể thực hiện để lấy tài liệu có tên chính xác như "terry harvey"? –

+4

Bạn cần thay đổi ánh xạ trường thành [not_analyzed] (http://www.elasticsearch.org/ Nếu bạn cần truy vấn bằng cả giá trị chính xác và toàn văn, thì bạn nên nhìn vào [multi field] (http: //www.elasticsearch) .org/hướng dẫn /en/elasticsearch/reference/current/mapping-core-types.html#_multi_fields_3) loại. –

+0

Cảm ơn u, tôi sẽ =) –

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