栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

ElasticSearch正则表达式过滤器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ElasticSearch正则表达式过滤器

首先,尽可能尝试不要使用没有前缀的正则表达式或通配符。搜索的方式

.*foo.*
是将索引字典中的每个单个词与模式进行匹配,该模式又被构建为匹配项的OR查询。语料库中唯一词的数量为
O(n) ,随后的搜索也非常昂贵。

本文对此有更多详细信息:https : //www.found.no/foundation/elasticsearch-from-the-bottom-
up/

其次,您的url可能以使“ info-for”和“ media”在索引中分开的方式进行标记。因此,

info-for/media
字典中没有用于匹配正则表达式的-term。

您可能想做的是使用path_hierarchy -tokenizer 分别索引路径和域,以生成术语。

这是一个演示令牌生成方式的示例:https
:
//www.found.no/play/gist/ecf511d4102a806f350b#analysis

/foo/bar/baz
生成令牌
/foo/bar/baz, /foo/bar,/foo
并将域令牌
foo.example.com
化为
foo.example.com, example.com, com

在下面搜索任何内容都

/foo/bar
可以是一个简单的术语过滤器匹配
path:/foo/bar
。那是性能更高的筛选器,也可以缓存。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/376028.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号