Wpis z mikrobloga

Pytanie do Mirkow z #elasticsearch :
Mam w indeksie cztery kolumny: kol1, kol2, kol3 i kol4.

Jak zbudować zapytanie do Elastica, żeby zwróciło dane analogicznie, jak zapytanie sql w stylu:

select * from tabela where (kol1 = 'aa' or kol2 = '33') and (kol3 = 'zz' or kol4 = 'kk');
  • 10
  • Odpowiedz
@zdzisiek-bula:

{
"bool" : {
"filter": [
{
"match" : { "field1" : "val1" }
},
{
"match" : { "field2" : "val2" }
},
{
"bool" : {
"should" : [
{
"match" : {"field3" : "val3"}
},
{
"match" : {"field4" : "val4"}
}
]
}
}
]
}
}

field1 = val1 AND field2 = val3 AND ( field3 = val3 OR field4 = val4)
  • Odpowiedz