2017-09-19 3 views
0

Ich habe einen Azure Search-Index mit einem filterbaren Feld namens aReportNumber (ein int). Aus den Portalindexfeldern: "aReportNumber Edm.Int32 Filterbar, Auffindbar"Azure Search search.in() Filter funktioniert nicht

Ich benutze API-Version 2016-09-01-Vorschau über Microsoft.Azure.Search 4.0.1-Vorschau - Ich überprüfte die API-Version im Debugger:

APIVERSION = "2016.09.01-Preview" Useragent = {FxVersion/4.6.00001.0 Microsoft.Azure.Search.SearchIndexClient/4.0.1.0}

Wenn ich meinen Filter als : "search.in (aReportNumber, '291, 409')" Ich bekomme:

Ungültiger Ausdruck: Keine Funktionssignatur für die Fu nction mit dem Namen 'search.in' stimmt mit den angegebenen Argumenten überein. Die berücksichtigten Funktionssignaturen sind: search.in (Edm.String, Edm.String, Edm.String); search.in (Edm.String, Edm.String)

Beide existieren im Index und können mit dem Filter "aReportNumber eq 291 oder aReportNumber eq 409" gefunden werden.

Was mache ich falsch?

Antwort

0

Gegenwärtig wird die Funktion search.in nur für Zeichenfolgenfelder (Felder vom Typ Edm.String) unterstützt.

+0

Danke Eugene. Kein Grund, dass es ein int sein muss - es ist nicht so, als würde ich eine ID-Nummer berechnen, und wir haben int.TryParse, wenn wir es wirklich brauchen :-). –

+0

Zusätzlich: Vielleicht möchten Sie das Heidi erzählen. Es war nicht klar aus dem Dokument (oder ich bin schwer zu verstehen) –