2016-03-24 37 views
1

Bir alan üzerinde query_string sorgusu yaptığınızda neden bu büyük/küçük harf duyarlı değildir ve joker karakterli bir sorgu büyük/küçük harfe duyarlıdır? İkisinin de benzer şekilde davrandığını düşünürdüm.ElasticSearch: query_string büyük küçük harf duyarlı ve joker karakter büyük/küçük harf duyarlı?

Bu query_string sorgu döndürür sonuçları bu joker sorgu

{ 
    "query": { 
    "bool" : { 
     "must" : [{ 
     "wildcard" : { 
      "name" : "*HILTON*" 
     } 
     } ] 
    } 
    } 
} 

cevap

4

değil yaptığı gibi budur

{ 
    "query": { 
    "bool" : { 
     "must" : [ { 
     "query_string" : { 
      "query" : "name:*HILTON*" 
     } 
     } ] 
    } 
    } 
} 

çünkü not analyzed alanlar için Wild card query çalışır. belgelere gereğince

:

önek, joker ve regexp'in sorguları şartlarda çalışırlar. Analiz edilen bir alanı sorgulamak için kullanırsanız, alandaki bütün terimleri bir bütün olarak değil inceleyecektir.

Wild kart sorgusu, wildcard ifadesiyle eşleşen alanlara sahip olan belgelerle eşleşiyor (analiz edilmiyor).

İlgili konular