2016-02-17 3 views
0

Я использую Preview of Azure Search Blob Indexer. Все проиндексированные данные содержатся в метаданных блоб. Поэтому я поставил AzureSearch_SkipContent на «true», чтобы предотвратить индексацию содержимого.Azure Blob Indexer: DateTimeOffsets в метаданных

У меня возникли проблемы с получением полей DateTimeOffset, так как я не могу определить правильный формат для хранения значения DateTimeOffset как.

Когда я создаю индексатор, я получаю ответ ошибки (400 Bad Request) с телом ответа проведения следующего содержания:

{"error":{"code":"","message":"Column 'ProcessDT' is of type String that is not compatible with the field of type Edm.DateTimeOffset in the index"}} 

Я пробовал различные строковые форматы (значение на сгустке я проверил является

2015-01-03T11:13:00.000+01:00 

поэтому он должен соответствовать формату, который совместим с OData 4,0 и поэтому лазурного поиска, как указано здесь: https://msdn.microsoft.com/en-us/library/azure/dn798938.aspx

ответ

1

преобразование строк в значения полей DateTimeOffset в настоящее время не поддерживается. Мы признаем, что это болезненное ограничение, и мы рассмотрим это в ближайшем будущем. В качестве частичного обходного пути вы можете индексировать эти значения как строки (чтобы вы могли форматировать их по своему усмотрению и использовать их для поиска и фильтрации). Спасибо, что подняли это!

+0

Это работает как обходной путь, если все DateTimeOffsets находятся в одном и том же часовом поясе, поскольку сравнение строк будет иметь те же результаты (лексикография сравнивается так же, как и сравнение даты и времени). Вероятно, сейчас я буду добавлять документы в индекс поиска вручную, но я хочу быть уверен, что индексор blob сможет сделать это в какой-то момент :), спасибо! –

+0

Согласовано, это не очень обходное решение - мы попытаемся устранить это ограничение в течение нескольких недель. –