Ich habe eine NEST-Abfrage geschrieben, die Dokumente mit Wörtern in einer Zeichenfolge ("queryString" unten) entspricht. Ich möchte Dokumente ausfiltern, die das Wort "nicht" enthalten. Ich habe die boolesche Abfrage ausprobiert, aber die Dokumente werden nicht herausgefiltert. Was mache ich hier falsch?NOT LIKE Abfrage in NEST
var searchResponse2 = _EsClientDAL.Current.Search<DTO.riSmall>(s => s
.Size(50)
.Query(q => q
.Bool(b => b
.Must(mu => mu
.Match(m => m
.Field(f => f.SceneText)
.Query(queryString)
)
,
mu => !mu
.Term(p => p.SceneText, "not")
)
)
)
.Highlight(h => h
.PreTags("|")
.PostTags("|")
.Fields(
fs => fs
.Field(p => p.SceneText)
.Type("plain")
.ForceSource()
.FragmentSize(150)
.NumberOfFragments(3)
.NoMatchSize(150)
)
)
);
Danke, Leute. Diese arbeiten. Ich habe herausgefunden, dass ich ein Problem mit "nicht" habe, weil ich Stoppwörter in meinem Analysator verwende ... Ich werde diese Stoppwörter entfernen – witchlightning