300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > elasticsearch模糊匹配查询

elasticsearch模糊匹配查询

时间:2021-04-12 21:57:17

相关推荐

elasticsearch模糊匹配查询

处理人类语言 开始处理各种语言词汇识别归一化词元将单词还原为词根停用词: 性能与精度同义词拼写错误 模糊性模糊查询模糊匹配查询模糊性评分语音匹配

模糊匹配查询

match查询支持开箱即用的模糊匹配:

GET /my_index/my_type/_search{"query": {"match": {"text": {"query":"SURPRIZE ME!","fuzziness": "AUTO","operator": "and"}}}}

查询字符串首先进行分析,会产生词项[surprize, me],并且每个词项根据指定的fuzziness进行模糊化。

同样,multi_match查询也支持fuzziness,但只有当执行查询时类型是best_fields或者most_fields

GET /my_index/my_type/_search{"query": {"multi_match": {"fields": [ "text", "title" ],"query":"SURPRIZE ME!","fuzziness": "AUTO"}}}

通配符查询

返回包含匹配通配符模式的术语的文档。

通配符运算符是匹配一个或多个字符的占位符。例如,*通配符运算符匹配零个或多个字符。您可以将通配符运算符与其他字符组合以创建通配符模式。

示例请求

以下搜索返回user.id字段包含以 开头ki和结尾的术语的文档y。这些匹配条件可以包括kiykitykimchy

GET /_search{"query": {"wildcard": {"user.id": {"value": "ki*y","boost": 1.0,"rewrite": "constant_score"}}}}

的顶级参数wildcard

<field>

(必需,对象)要搜索的字段。

参数<field>

value

(必需,字符串)您希望在提供的<field>.

此参数支持两个通配符运算符:

?, 匹配任何单个字符*, 可以匹配零个或多个字符,包括空字符

避免以*或开始模式?。这会增加查找匹配项所需的迭代次数并降低搜索性能。

boost

(可选,浮点数)用于减少或增加查询相关性分数的浮点数。默认为1.0.

您可以使用该boost参数来调整包含两个或更多查询的搜索的相关性分数。

Boost 值相对于 的默认值1.00和之间的提升值会1.0降低相关性分数。大于 的值会1.0增加相关性分数。

rewrite

(可选,字符串)用于重写查询的方法。有关有效值和更多信息,请参阅rewrite参数。

case_insensitive[7.10.0]在 7.10.0 中添加。

(可选,布尔值)设置为 true 时,允许模式与索引字段值不区分大小写匹配。默认为 false,这意味着匹配的区分大小写取决于基础字段的映射。

笔记

允许昂贵的查询

如果search.allow_expensive_queries设置为 false,则不会执行通配符查询。

原文

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。