“自动完成”在弹性搜索中不起作用

时间:2016-10-26 10:44:19

标签: elasticsearch

如果我们给出完全匹配或只有一个字符可以正常工作,但如果我们给出2或3个字符auto complete则不起作用。例如,如果我们给TTest它的工作,但如果我给它Tes它不起作用。

我的数据看起来像这样

PUT /test/test/1
{
    "id": "1",
    "input": "Test",
    "output": ["Testing", "Testing"]
}

PUT /test/test/2
{
    "id": "2",
    "input": "Test two",
    "output":["Testing", "Testing"]
}

我的弹性查询是

{
    "query": {
        "query_string": {
            "query": "tes"
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你忘记了我相信的通配符:

GET /test/test/_search
{
    "query": {
        "query_string": {
            "query": "tes*"
        }
    }
}

您可能还希望使用"query": "input:tes*"自动填充一个特定字段。