Производительность поиска Azure фильтруемая против поиска | filertable

Все,

Заранее спасибо за помощь. Мы рассматриваем возможность использования Azure Search для некоторых новых разработок в мультитенантной системе. У меня есть основной вопрос о доступных для поиска против фильтруемых. При импорте данных для поиска из documentdb типы int/float/date не могут быть помечены как доступные для поиска, только фильтруемые. Это на самом деле то, что мы хотим. Мы используем Lucene API для поиска и должны поддерживать поиск по диапазону. Мой вопрос заключается в том, что если индекс помечен только как "фильтруемый", а "фильтруемый | доступный для поиска" - это значение, которое все еще "проиндексировано", так что поиск будет быстрым, и поиск не приведет к "сканированию таблицы" (извиняюсь за использование терминов SQL).

Для дополнительного кредита, есть ли анализатор запросов для поиска, как в SQL Server, который поможет нам понять это?

Стив

1 ответ

Вы правы, только поля типа Edm.String и Collection(Edm.String) могут быть помечены как доступные для поиска. Если поле помечено как доступное для поиска, оно будет подвергнуто анализу, например разрыву слов, прежде чем оно будет сохранено в индексе. Результаты этого анализа приводят к тому, что в вашем индексе используется дополнительное пространство по сравнению с тем же полем, если оно не было помечено как доступное для поиска.

Невозможно пометить количественные типы полей (например, Edm.Int32 или Edm.DateTimeOffset) как доступные для поиска, поскольку данные этого типа не получают выгоды от лексического анализа. Однако эти значения по-прежнему будут частью вашего поискового индекса Azure, и их можно запросить быстрым способом с помощью выражений фильтра, которые не будут вести себя как "сканирование таблицы" в SQL.

К сожалению, в Azure Search нет анализатора запросов, аналогичного SQL Server. Однако Azure Search предлагает API-интерфейс Analyze, чтобы увидеть, как текст с возможностью поиска обрабатывается различными анализаторами, предлагающими эту услугу. Не стесняйтесь размещать предложение для анализатора запросов на нашем сайте User Voice.

Надеюсь это поможет!

Ashish

Другие вопросы по тегам