Mein Zweck ist es, 2 Multi-Match-Abfragen wie folgt zu kombinieren. Ich möchte, dass MPN- oder SKU-Felder für jedes Keyword übereinstimmen müssen. Die Schlüsselwörter "hp" und "301" müssen also entweder in MPN oder in SKU vorhanden sein. oder entweder Name oder Name.raw sollte eines der Schlüsselwörter "hp" oder "301" haben. genaue Übereinstimmung, die MPN/SKU sollte höhere Punktzahl haben. Ich schrieb Abfrage wie folgt, aber es gibt keine Ergebnisse zurück, obwohl es Dokumente gibt, die diese Bedingungen haben. meine Fragen sind,Wie kombiniere ich Multi-Match-Abfragen?
1) Does must query require keyword to be found in both SKU and MPN
for the multi_match query?
2) Combination of must and should is AND or OR? it looks like AND
for me as it doesn't return any result. if it is AND, how to make it
as OR? I cant find any operator on bool. I tried to wrap in another
should query but it didnt help.
Ich schätze auch jede Abfrage Vorschlag für meine Zwecke.
"from": 0,
"size": 10,
"explain": true,
"query": {
"bool": {
"must": [
{
"multi_match": {
"type": "best_fields",
"query": "hp 301",
"fields": [
"MPN^9",
"SKU^8"
],
"operator": "and"
}
}
],
"should": [
{"multi_match": {
"type": "best_fields",
"query": "hp 301",
"fields": [
"Name.raw2^7.5",
"Name^7"
]
}}
]
}
}