Нечеткие подсказки в поиске Azure по нескольким полям

Учитывая, что мой индекс настроен как таковой:

{
  "Error": null,
  "IsSuccess": true,
  "StatusCode": 201,
  "Body": {
    "name": "test-want-index",
    "fields": [
      {
        "name": "Id",
        "type": "Edm.String",
        "searchable": false,
        "filterable": false,
        "sortable": false,
        "facetable": false,
        "suggestions": false,
        "key": true,
        "retrievable": true
      },
      {
        "name": "Title",
        "type": "Edm.String",
        "searchable": true,
        "filterable": false,
        "sortable": false,
        "facetable": false,
        "suggestions": true,
        "key": false,
        "retrievable": true
      },
      {
        "name": "Description",
        "type": "Edm.String",
        "searchable": true,
        "filterable": false,
        "sortable": false,
        "facetable": false,
        "suggestions": true,
        "key": false,
        "retrievable": true
      },
    ],
    "scoringProfiles": [],
    "defaultScoringProfile": null,
    "corsOptions": null
  }
}

заполняется этими данными:

Id:123, Title:starbucks, Description:coffee that is good
Id:456, Title:big b, Description:coffee that is bad
Id:789, Title:elk brand, Description:we have elk stars

Когда пользователь вводит следующий запрос starbucs coffee

Можно ли настроить поля индекса так, чтобы я мог:

  1. сопоставить элемент с идентификатором 123 и идентификатором 456
  2. Нечеткий поиск (или предложение?) Название И Описание

Примечание:

  1. Если ввести stabuck в качестве поискового запроса для предложения, возвращается идентификатор 123.
  2. Если ввести coffee в качестве поискового запроса для предложения, возвращается идентификатор 456.
  3. Ввод starbucs coffee ничего не возвращает. ‹- моя проблема.

person detroitpro    schedule 09.10.2014    source источник


Ответы (2)


В настоящее время мы не обрабатываем орфографические исправления / нечеткие запросы при поиске. Мы работаем над улучшением лингвистики в целом, и некоторые из этих вещей со временем улучшатся.

В этом конкретном случае поиск и предложения ничего не возвращают по разным причинам:

Поиск возвращается пустым, потому что он не выполняет нечеткое сопоставление, поэтому starbucs не соответствует. Обратите внимание, что если для searchMode установлено значение «any» (по умолчанию), документ все равно должен вернуться, потому что «coffee» - это совпадение.

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

Извините, у меня нет очень действенного ответа, кроме как убедиться, что у вас есть & searchMode = any, чтобы поиск соответствовал другим словам. Остальное наладится, но нам нужно время. Каждую неделю мы добавляем новые элементы с новыми функциями, поэтому дела идут быстро.

person Pablo Castro    schedule 09.10.2014

Теперь он доступен как функция в предложении https://msdn.microsoft.com/en-us/library/azure/dn798936.aspx

person mannu2050    schedule 03.05.2016