2016-08-11 8 views
0

Я уже настроил DocumentDb и загрузил документы в DocumentDb.Создание службы поиска azure с DocumentDb в качестве ресурса для обслуживания?

Моих JSON документов данных вложенные ДО 4-х уровней, например: -

{ 
    id: '12345', 
    properties: 
    { 
     Accessories: 
     { 
      watch:1, 
      WristBands: [{ 
        blue:1, 
        red: 2}] 
        } 
      } 
    Name: Leo, 
    Age: 24 
} 

Я хочу использовать лазурный сервис поиска для возможности поиска ДО последнего уровня (например, Количество браслетов цвета т.е. синим: 1). Я также установил сервис.

Мне нужна помощь в создании индекса и индексатора для таких вложенных данных на C#, чтобы я мог запросить службу. Уже найдено, как использовать DataType.Collection (DataType.String), но это поддерживается до уровня 2.

Классы также могут быть созданы для каждого уровня, но не имеют представления о том, как их определить при индексировании. См. Пример https://github.com/Azure-Samples/search-dotnet-getting-started.

ответ

0

Еще один учебник по настройке индексатора поиска Azure для DocumentDB: https://azure.microsoft.com/en-us/documentation/articles/documentdb-search-indexer/.

+1 на блоге Кирка Эванса, в котором показано, как сгладить документ JSON. Идея состоит в том, чтобы использовать необязательное свойство запроса в контейнере в запросе создания источника данных и использовать запрос соединения в этом месте.

+0

Спасибо вам за вашу замечательную помощь. Понял. Была возможность успешно сгладить мои данные с помощью Azure Portal (необязательное свойство запроса). Просто еще один вопрос. как мы можем использовать это в коде .Net, мы хотим добиться полного выравнивания из кода. – Leo

+0

Привет, Лео, если я правильно понимаю ваш вопрос, вы пытаетесь создать источник данных DocumentDB для Azure Search с помощью сглаживания запроса JSON, переданного из Azure Search .NET SDK. Я не эксперт в Azure Search. Сканирование через API SDK, я обнаружил, что вы можете установить свойство DataSource.Container.Query при создании нового DataSource. Это то, что вам нужно? –

+0

Да, ты меня понял. Но я не смог найти точный синтаксис для установки свойства запроса. – Leo

0

К сожалению, Azure Search не поддерживает вложенные документы. Как вы можете видеть на нашей странице Uservoice, это, безусловно, самая востребованная функция, поэтому мы очень заинтересованы в добавлении (пожалуйста, проголосовать здесь, если вы не возражаете). К сожалению, у нас пока нет графика, когда мы это сделаем.

В то же время для некоторых приложений реалистично либо сгладить документы JSON, либо использовать типы коллекций. Для более подробной информации о сглаживании документов, Kirk Evans имеет действительно хорошее blog post по этой теме.

+0

Спасибо. Можете ли вы ответить на тот же самый вопрос, который я задал Lenging, то есть добиться «сглаживания данных» с использованием библиотеки .NET. – Leo