Ich habe 2 Teile der Abfrage (a) Abfrage (b) Kontext, Ich möchte eine Abfrage zu elasticsearch, die geben Sie mir Ergebnisse zu (a), das ist obligatorisch, und die Ergebnisse, die (b) haben, sollten verstärkt werden. B. Wenn die Abfrage/(a) "Inflationsraten" und Kontext/(b) "Vereinigte Staaten" ist - die Ergebnisse sollten nur Ergebnisse zu "Inflationsraten" und die Ergebnisse zu "USA "sollte verstärkt werden.Elasticsearch Abfrage zu 2 verschiedenen Abfragen auf den gleichen Feldern zu suchen und Ergebnisse, die die Kombination beider Abfragen haben
Ich habe verschiedene Konzepte von elasticsearch wie - bool/sollte/filter/versucht, aber die Ergebnisse sind nicht so wie erwartet. unten gebe ich die Frage Vorlage, die ich derzeit verwende. Es gibt mir Ergebnisse, in denen Abfrage und Kontext nicht kombiniert werden, es gibt nur Dokumente, die entweder Abfrage oder Kontext entsprechen. Ich verwende ES 2.4.0
{
"template":{
"from":"0",
"size":"10",
"_source": ["*"],
"query":{
"function_score": {
"query":{
"bool":{
"should":[{
"match":{
"display":{
"query": "inflation rate",
"boost": 2
}
}
},
{
"match":{
"attributes.definition": {
"query": "inflation rate",
"boost": 5
}
}
},
{
"match":{
"attributes.topics.name": {
"query": "inflation rate",
"boost": 5
}
}
},
{
"match":{
"attributes.titles": {
"query": "inflation rate",
"boost": 7
}
}
},
{
"match":{
"attributes.definition": {
"query": "United States",
"boost": 4
}
}
},
{
"match":{
"attributes.topics.name": {
"query": "United States",
"boost": 4
}
}
},
{
"match":{
"attributes.titles": {
"query": "United States",
"boost": 4
}
}
}],
"must": [
{
"match":{
"type":"news"
}
}]
}
},
"functions": [{
"gauss": {
"attributes.published_ts": {
"scale": "10d"
}
},
"weight" : 0.1
}]
}
}
}
}
hi danke für das Beispiel, ich habe dieses Beispiel versucht, aber mit muss gibt leere Ergebnisse die meiste Zeit und selbst wenn ich sollte sollte, macht Filter keine Änderungen an den Ergebnissen – Mohit