Şu anda elasticsearch için solr tabanlı bir uygulama taşımak için çalışıyorum.
Bu lucene sorgusu var
((
name:(+foo +bar)
OR info:(+foo +bar)
)) AND state:(1) AND (has_image:(0) OR has_image:(1)^100)
Bildiğim kadarıyla bu boolean OR ile birlikte MUST yan tümceleri bir kombinasyonudur:
"(Foo AND bar adında) VEYA (foo AND bar bilgi) içeren tüm dokümanları alın. Bundan sonra sonuçları koşul durumu = 1'e göre filtreleyin ve görüntü içeren dokümanları artırın."
ZORUNLU bir bool sorgusu kullanmaya çalışıyorum ama boolean OR zorunluluk cümleleri içine almak için başarısız. İşte ne var:
GET /test/object/_search
{
"from": 0,
"size": 20,
"sort": {
"_score": "desc"
},
"query": {
"bool": {
"must": [
{
"match": {
"name": "foo"
}
},
{
"match": {
"name": "bar"
}
}
],
"must_not": [],
"should": [
{
"match": {
"has_image": {
"query": 1,
"boost": 100
}
}
}
]
}
}
}
Gördüğünüz gibi, "bilgi" için ZORUNLU koşullar eksik.
Herkesin bir çözümü var mı?
Çok teşekkür ederim.
** GÜNCELLEME **
Elasticsearch sorgumu güncelledim ve bu fonksiyon skorundan kurtuldum. Temel sorunum hala var.