在elasticsearch 5.0.1中查询建议

时间:2017-07-28 08:13:08

标签: elasticsearch

我有一个问题,我想搜索结果使用建议。 我这样的类型架构

`
{
    "name": {
        "input": [
            "uers1"
        ]
    },
    "usertype": 1
}{
    "name": {
        "input": [
            "uers2"
        ]
    },
    "usertype": 2
}`  

我希望通过建议搜索数据,像这样的查询

`{
    "suggest": {
        "person_suggest": {
            "text": "us",
            "completion": {
                "field": "name"
            }
        }
    }
}`  

结果就像这些

`{
    "_shards": {
        "total": 1,
        "successful": 1,
        "failed": 0
    },
    "person_suggest": [
        {
            "text": "word",
            "offset": 0,
            "length": 4,
            "options": [
                {
                    "name": "user1",
                    "usertype": 1,
                    "score": 1
                },
                {
                    "text": "user2",
                    "usertype": 2,
                    "score": 1
                }
            ]
        }
    ]
} `

但是我只希望结果是usertype = 1,就像在mysql中添加where条件一样。任何机构都可以帮助我吗?我想要一个DSL查询。很多。

1 个答案:

答案 0 :(得分:0)

您无法在完成建议查询中进行过滤。解决问题的方法,为每个usertype创建不同的完成字段,或者使用nGram分析器使用标准查询。