2016-08-23 4 views
0

ich die folgende JSON Struktur nach Anforderung haben die Azure-Suchdienst (Suche mit = *):Azure Suche: flache Daten von Collection (Edm.String)

"value": [ 
     { 
      "@search.score": 1, 
      "id": "160", 
      "title": "title1", 
      "description": "description", 
      "address": "Ranelagh Gardens, London, SW6 3PR, UK", 
      "categories": [ 
       "{\r\n \"description\": \"C1\",\r\n \"id\": \"3\"\r\n}", 
       "{\r\n \"description\": \"C2\",\r\n \"id\": \"4\"\r\n}" 
      ] 
     } 

Ich möchte innerhalb Kategorien wie Beschreibung suchen = C1 aber ich kann nicht. Ich habe versucht, $ filter/categories.any (t: t eq 'C1') zu verwenden, funktioniert aber nicht.

Antwort

1

Leider unterstützt Azure Search komplexe Datentypen wie diese noch nicht. Ich werde sagen, dass dies die top requested feature ist, so dass es auf unserer Liste zu unterstützen, aber es wird uns einige Zeit dauern, um dies zu implementieren.

In der Zwischenzeit möchten Sie vielleicht nachsehen, ob es eine Möglichkeit gibt, Ihre Dokumente zu reduzieren. Ist es beispielsweise realistisch, in Ihrem Azure Search-Index ein Feld zu erstellen, das heißt categoriesDescription, und ein anderes namens categoriesId, die beide ein Sammlungs-Typ sind (im Grunde ein Array von Strings)?

Zum Beispiel, vielleicht hätte man die categoriesDescription enthält [ "C1", "C2] und categoriesID enthält [" 3" , "4"]?

Kirk Evans ein nice blog post tat, die auch das Thema behandelt von JSON Dokumente Abflachung, die Sie vielleicht nützlich finden.

Liam

+0

Wenn ich die Kategorien categoriesDescription und categoriesID aufspalten kann ich tun, um eine Facette mit diesen Informationen? –

Verwandte Themen