Elasticsearch 支持使用模糊查询来匹配文档中的相似字符串。模糊查询使用「like」语法,并使用通配符(* 和 ?)来指定模式。
例如,要在名称字段中查找以「Jo」开头的所有人,可以使用以下查询:
"query" : { "wildcard" : { "name" : "Jo*"要查找名称字段中以「Jo」开头,以「n」结尾的所有人,可以使用以下查询:
"query" : { "wildcard" : { "name" : "Jo*n"要查找名称字段中包含「Jo」和「hn」的所有人,但是这两个字符的顺序可能不同,可以使用以下查询:
"query" : { "wildcard" : { "name" : "*Jo*hn*"要在名称字段中查找任意单个字符,可以使用「?」通配符。例如,要查找名称字段中以「Jo」开头,接着是一个任意字符,然后是「n」的所有人,可以使用以下查询:
"query" : { "wildcard" : { "name" : "Jo?n"模糊查询是一种很有用的工具,但是它有一些缺点。首先,它会对搜索性能产生负面影响,因为它必须扫描整个索引