Ich möchte "Marketing in sozialen Netzwerken" in Dokumenten suchen. Alle zusammen. Aber ich bekomme weiterhin Ergebnisse mit getrennten Wörtern. Ich habe folgende DSL-Abfrage:Wie suche ich mit ElasticSearch die exakte Phrase im Stringfeld?
{
"fields": ["title"],
"query": {
"bool": {
"should": [{
"match": {
"title": "SEO"
}
}],
"must": [{
"match": {
"content": {
"query": "Marketing in social networks",
"operator": "and"
}
}
}]
}
}
}
Ich habe keine Dokumente, die diesen Satz und Titel enthalten, aber ich auch Ergebnisse (Dokumente) mit den Worten des Satzes gesplittet Suche erhalten. Ich möchte eine strenge Suche. Wenn es kein Dokument gibt, das diesen Ausdruck enthält, rufen Sie kein Dokument ab oder rufen nur Dokumente mit diesem Titel ab. Warum Operator und funktioniert nicht?
„und“ bedeutet mir Dokumente geben, die alle diese Wörter enthalten. Verwenden Sie die "match_phrase" -Abfrage wie in der Antwort unten erwähnt. Es wird Ihnen korrekte Ergebnisse geben. – jay