Elasticsearch中的完成建议器不起作用

时间:2019-05-20 06:38:20

标签: elasticsearch search autocomplete elasticsearch-6

(使用ES 6.7) 我有一个索引,并希望支持按类型搜索功能。为此,我想尝试使用完成提示器,但是在重新编制索引以更改映射的旧索引时遇到了麻烦。

这是旧的索引映射

{
    "old-index": {
        "mappings": {
            "doc": {
                "properties": {
                    "content": {
                        "type": "text"
                    },
                    "project": {
                        "type": "keyword"
                    },
                    "title": {
                        "type": "text"
                    },
                    "version": {
                        "type": "keyword"
                    }
                }
            }
        }
    }
}

这是新的测试索引映射

PUT test-completion
{
    "mappings": {
        "doc": {
            "properties": {
                "content": {
                    "type": "text",
                    "fields": {
                        "autocomplete": {
                            "type": "completion",
                            "contexts": [
                                {
                                    "name": "project",
                                    "type": "category",
                                    "path": "project"
                                },
                                {
                                    "name": "version",
                                    "type": "category",
                                    "path": "version"
                                }
                            ]
                        }
                    }
                },
                "title": {
                    "type": "text"
                },
                "project": {
                    "type": "keyword"
                },
                "version": {
                    "type": "keyword"
                }
            }
        }
    }
}

这是重新索引查询

POST _reindex
{
    "source": {
        "index": "old-index"
    },
    "dest": {
        "index": "test-completion"
    }
}

这是不返回任何结果的查询

POST test-completion/_search
{
    "suggest": {
        "autocompletion_suggest": {
            "prefix": "part of documentation",
            "completion": {
                "field": "content.autocomplete",
                "fuzzy": {
                    "fuzziness": "AUTO"
                },
                "contexts": {
                    "project": "xyz-project",
                    "version": "abc-version"
                }
            }
        }
    }
}

如果前缀设置为ab,则返回上下文之外的结果。 我在哪里做错了?

https://discuss.elastic.co/t/problem-with-completion-suggester/181695

0 个答案:

没有答案