Результаты поиска Azure выделяют фрагменты
Я использую функцию "Подсветка совпадений" в поиске Azure и заметил несоответствие в поведении в документации. В документации говорится, что когда вы используете подсветку нажатия, она возвращает фрагмент поля с подсветкой, но всегда возвращает все поле (с правильной подсветкой).
Есть ли способ заставить Azure Search вместо этого возвращать только фрагмент (скажем, около 200 символов), который включает выделение?
3 ответа
В настоящее время ответ - нет, вы не можете. Поле разбивается в соответствии с (английскими) правилами предложения, т.е. это разбивается на ".", "!", "?".
Также см. Этот вопрос для примера взлома и дополнительной информации о разделителях.
В зависимости от характера поля вы можете добавить один из перечисленных выше разделителей, чтобы "подражать" тому, чего вы хотите достичь (как предложил Нейт Ко).
Я хочу предложить что-то еще помимо того, что говорил Нейт. Когда вы смотрите на ответ документа, взгляните также на часть "Основные моменты" результатов (в отличие от документа). Например, вы можете в настоящее время получать результаты поля, получая что-то вроде этого:
Результаты [I].Document.DESCRIPTION
Если будет найдено выделение для этого поля, фрагмент будет найден здесь:
Результаты [I].Highlights.DESCRIPTION
Что мне нравится делать, так это сначала проверить, есть ли действительный Highlight и, если да, отобразить его. Если нет, я показываю фактическое содержание поля.
Liam
Недавно мы внесли изменения, которые улучшают производительность подсветки на больших полях и опыт НЛП. Одним из побочных эффектов изменений было то, что новый маркер генерирует фрагменты на основе предложений, разбивая текстовое поле на "." (Период).
Один из способов обойти проблему - поставить '.s в поле. Мы работаем над соблюдением размера фрагмента и сообщаем, когда он будет доступен.