2016-12-27 4 views
1

У меня есть индекс с несколькими полями типа Edm.String и Collection(Edm.String). Я хочу иметь еще один индекс с теми же полями плюс другое поле типа Edm.Double. Когда я создаю такой индекс и попытаться добавить то же значение (плюс вновь добавленный Edm.Double значения), как я сделал с первым индексом, я получаю следующее сообщение об ошибке:Ошибка при добавлении новых документов в Azure. Индекс поиска

{ 
    "error": { 
     "code": "", 
     "message": "The request is invalid. Details: parameters : An unexpected 'StartArray' node was found when reading from the JSON reader. A 'PrimitiveValue' node was expected.\r\n" 
    } 
} 

Кто-нибудь знает, что это за ошибку означает? Я пробовал искать его в Интернете, но я не мог найти ничего, связанного с моей ситуацией. Запрос образца Я посылаю на новый индекс выглядит следующим образом:

POST https://myservicename.search.windows.net/indexes/newindexname/docs/index?api-version=2016-09-01 

{ 
    "value": [{ 
     "@search.action": "upload", 
     "keywords": ["red", "lovely", "glowing", "cute"], 
     "name": "sample document", 
     "weight": 0.5, 
     "id": "67" 
    }] 
} 

старый индекс тот же, но он не имеет параметр «вес».

Edit: я создал индекс с помощью портала, поэтому у меня нет точной JSON для создания индекса, но поля примерно так:

Field      Type       Attributes  Analyzer 
--------------------------------------------------------------------------------------- 
     id    Edm.String      Key, Retrievable 
    name    Edm.String Searchable, Filterable, Retrievable Eng-Microsoft 
keywords Collection(Edm.String) Searchable, Filterable, Retrievable Eng-Microsoft 
    weight    Edm.Double     Filterable, Sortable 
+0

Можете ли вы поделиться определением индекса 'newindexname'? В частности, поля и их типы данных. –

+0

Я не могу воспроизвести проблему. Я создал идентичный индекс и отправил тот же запрос индексирования с помощью PowerShell, и он отлично работает. Можете ли вы проверить, что JSON вы разместили здесь именно то, что вы отправили в запросе? –

+0

@BruceJohnston Оказывается, я ошибся при создании индекса с портала и выбрал 'Edm.String' для поля, когда я хотел выбрать' Collection (Edm.String) '. Я воссоздал индекс, и все выглядит отлично. Извините за то, что вы тратили свое время с тривиальной ошибкой. – halileohalilei

ответ

1

Причина я была ошибка потому что я сделал ошибку и пытался отправить Collection(Edm.String), когда фактический тип по индексу был Edm.String.

 Смежные вопросы

  • Нет связанных вопросов^_^