Средство подсказки терминов Elasticsearch не возвращает результаты при точном совпадении

когда я запрашиваю предложение с

{
    "my-title-suggestions-1": {
       "text": "tücher                ",
       "term": {
            "field": "name",
       }
    },
    "my-title-suggestions-2": {
       "text": "tüchers                ",
       "term": {
           "field": "name"
       }
    }
}

он возвращается

{
    "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
    },
    "my-title-suggestions-1": [
    {
        "text": "tücher",
        "offset": 0,
        "length": 6,
        "options": []
    }
    ],
    "my-title-suggestions-2": [
    {
        "text": "tüchers",
        "offset": 0,
        "length": 7,
        "options": [
            {
                "text": "tücher",
                "score": 0.8333333,
                "freq": 6
            }
        ]
    }
    ]
}

Интересно, почему он не возвращает точное совпадение с первым предложением? второй внушающий, очевидно, имеет тот же результат.

Могу ли я добавить другие параметры, которые разрешат это поведение?

edit: минимальное отображение - это просто...

{
"name" : {
        "analyzer" : "standard",
        "type" : "string"
    }
}

person Summer-Sky    schedule 21.11.2015    source источник
comment
Не могли бы вы также опубликовать отображение индекса?   -  person madsen    schedule 21.11.2015
comment
@madsen конкретная структура сопоставления не должна иметь значения ... у нее есть строковое поле с именем name ... однако я добавил сопоставление   -  person Summer-Sky    schedule 21.11.2015
comment
Это не обязательно не имеет значения, если поле анализируется, фильтруется и/или токенизируется.   -  person madsen    schedule 21.11.2015
comment
В настоящее время у меня такая же проблема. Вот соответствующая проблема и запрос на включение. В настоящее время открыт, но кажется готовым к слиянию.   -  person worldsayshi    schedule 13.10.2016


Ответы (2)


Чтобы добавить к тому, что сказал @ChintanShah25: Согласно https://www.elastic.co/guide/en/elasticsearch/reference/2.0/search-suggesters-term.html (см. suggest_mode). Средство предложения терминов по умолчанию:

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

person madsen    schedule 21.11.2015
comment
Не похоже, что даже использование always приводит к возвращению точного совпадения, по крайней мере, не в es1.5. - person EdgeCaseBerg; 02.06.2016

Я не думаю, что вы можете это сделать, и я не уверен, почему вам нужно точное совпадение в suggestions, в конце концов, это «предложения».

Обычно они используются для проверки орфографических ошибок. Это даст вам предложения кандидатов, которые похожи и попадают в edit distance из 2 для введенного вами слова.

person ChintanShah25    schedule 21.11.2015
comment
да, сейчас я отравляю запрос дополнительным символом, и это у меня пока работает... - person Summer-Sky; 23.11.2015