Ich habe zwei Codeschnipsel von Nest 2.3, die ich nicht in der Lage war, in der neuesten Version 5.0.0-rc3 zu kooperieren.NEST 5.x Felder Verwendung
var titleField = Infer.Field<Page>(p => p.Title, 2);
var metaDescriptionField = Infer.Field<Page>(p => p.MetaDescription, 1.5);
var metaKeywordsField = Infer.Field<Page>(p => p.Keywords, 2);
var bodyField = Infer.Field<Page>(p => p.Body);
MultiMatchQuery multiMatchQuery = new MultiMatchQuery()
{
Fields = new [] {
bodyField,
metaKeywordsField,
metaKeywordsField,
titleField
},
Query = search.Term
};
Der Build-Fehler ist hier "konvertieren kann nicht implizit Nest.Field [], um Nest.Fields". Ich kann etwas tun wie
MultiMatchQuery multiMatchQuery = new MultiMatchQuery()
{
Fields = Infer.Fields<Page>(p => p.Title, p => p.MetaDescription, p => p.Keywords, p => p.Body),
Query = search.Term
};
Aber dann verliere ich die Feldgewichtung.
Zweites Feld useagle Ich habe mit Problemen, die ist
var searchResponse = client.Search<Page>(s => s
.MatchAll()
.From(from)
.Size(size)
.Fields(f => f.Field(fi => fi.Id).Field(fi => fi.SourceId))
);
Build-Fehler hier ist ‚Nest.SearchDescriptor‘ eine Definition für ‚Fields‘ enthält und keine Erweiterungsmethode ‚Fields‘ Annahme einer ersten Argument vom Typ ‚Nest.SearchDescriptor‘ gefunden werden (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis?
ich habe kein Glück gehabt mit etwas Kompilierung der Lage in dem Fall zu bekommen.