Индекс поиска Azure: токенизация слов в обратном порядке

У меня есть поле коллекции, состоящее из «фамилия, имя», которое правильно генерирует два токена, но я хотел бы сгенерировать третий (шингл), но в формате «имя фамилия».

Пример: Данные по индексу «Бонд, Джеймс»

Поиск по запросу «Джеймс Бонд» выдаст результаты как с «Джеймсом», так и с «Бондом», что мне и нужно, но есть результаты с именем «Джеймс Бонд», которые я хотел бы быть на первом месте. (Например, один результат, в котором в нескольких местах есть слово «Бонд», но нет Джеймса, будет иметь более высокий рейтинг). Для сравнения, если пользователь ищет Бонда Джеймса, результаты совпадают именно с тем, что я хочу, но большинство пользователей не будут сначала вводить фамилию.

Есть ли способ сгенерировать этот дополнительный токен или хотя бы усилить ответ, когда оба токена будут найдены?

Я попытался создать ShingleFilter для генерации комбинаций имен, но не смог «инвертировать» порядок слов. Я думаю, что это могло бы быть возможно с использованием шаблонов RegEx, но мне не удалось заставить это работать.

Поиск также используется для других полей, которые работают должным образом, поэтому я не могу инвертировать условия поиска. Я хотел бы, если это возможно, избежать инвертирования поля в базе данных SQL Azure.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В настоящее время не существует прямой поддержки «инвертирования» порядка слов, но существует стратегия повышения приоритета результатов, в которой присутствуют токены «Джеймс» и «Бонд», с использованием профиля оценки .

  • Профили оценки определяются в индексе поиска и вызываются для невекторных полей в запросах.

  • Профиль оценки — это критерий повышения рейтинга поиска на основе предоставленных вами параметров. Например, вы можете захотеть, чтобы совпадения, найденные в поле «теги», были более релевантными, чем те же совпадения, найденные в «описаниях». Критерием может быть взвешенное поле (как в примере с «тегами») или функция .

Чтобы создать профиль оценки для повышения качества документов, в котором оба токена находятся в нужном порядке, выполните следующие действия:

  1. Перейдите к указателю и выберите профиль оценки, чтобы добавить профиль оценки.

  2. Выберите «Агрегация функций» в разделе «Функции».

  3. Добавьте функцию оценки. Используйте функции, когда простых относительных весов недостаточно или они неприменимы, как в случае с расстоянием и свежестью, которые представляют собой вычисления над числовыми данными. Для каждого профиля оценки можно указать несколько функций. Дополнительные сведения о типах данных EDM, используемых в Azure AI Search, см. в разделе Поддерживаемые типы данных.

  1. Сохраните функцию и индекс. Чтобы увидеть изменения, перезапустите и запустите индексаторы.

  1. Перейдите по этой ссылке , чтобы узнать об REST API для поиска Azure AI.

Спасибо за помощь! Я уже использую профили, но в данном случае они не помогают, поскольку поле представляет собой коллекцию и в том же поле присутствуют «фиктивные» результаты. Например, если у одного элемента есть ["Бонд, Эрик", "Бонд, Флавио", "Смит, Джеймс"]", он будет ранжироваться выше, чем другой с "Бонд, Джеймс" в поиске в настоящее время. Я думаю, можно переформатировать данные. в конце концов, будь моим лучшим вариантом.

Thiago 23.05.2024 21:04

Привет @Навин Шарма! Если быть честным, согласно моему комментарию, это не решило проблему, но поскольку это похоже на официальное подтверждение отсутствия возможности решить мою проблему, я отмечу ее как решенную.

Thiago 24.05.2024 20:17

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