我想在电子商务网站中进行搜索,以查找具有良好查询的产品来管理拼写错误。
我正在学习elasticsearch 和search_as_you_type 字段。但在文档中,你有 search_as_you_type 和模糊性。
如果我有这个产品:便利贴 76x76 毫米
我想要找到这个产品,如果我写:
然后,找到所有类似的产品(因为在这个例子中我只有一种产品,但实际上大约有 30 000 个)
目前我有类似的映射,但我不知道如何添加模糊性:
"mappings": {
"properties": {
"title": {
"type": "search_as_you_type",
}
}
},
感谢您的帮助
如果索引字段的类型为 search_as_you_type,您可以使用如下所示的内容,但是,最后一项或只有一个术语时不会有模糊性。
{
"query": {
"bool": {
"must": {
"multi_match": {
"type": "bool_prefix",
"query": "one two th",
"fields": [
"autocomp.etab",
"autocomp.etab._2gram",
"autocomp.etab._3gram"
],
"operator": "AND",
"fuzziness": "AUTO"
}
}
}
} }