在ES中搜索数据时,自带的filter有时无法满足个性化需求:
我们需要使用通配符查找我们需要的数据,在ES中如果我们想要实现MySQL中的like查询,可以使用wildcard 通配符来进行操作:
此时就能搜索出所有url后缀为mp3的数据了。
具体来说,通配符运算符(wildcard operator)是匹配一个或多个字符的占位符。例如,* 通配符运算符匹配零个或多个字符,? 通配符匹配单个字符,我们可以将通配符与其他字符组合以创建通配符模式(wildcard pattern)。
根据官方文档,目前ES只支持最基本的 * 和 ?通配符。
查询语句:
{ "query": { "wildcard": { "url": { "value": "*.mp3" } } } }
还没有评论,来说两句吧...