针对未分析字段的正则表达式查询的默认行为是什么?另外,处理.raw字段的答案是否相同?
在我阅读完所有内容之后,我理解以下内容。 1. RegExp查询将适用于已分析和未分析的字段。 2.正则表达式查询应该适用于整个短语,而不仅仅是匹配非分析字段中的单个标记。 不过这是问题所在。我实际上无法让这个工作。我已在多个领域尝试过它。
我正在使用的设置是库存elk安装,我正在使用基本解析器将pfsense和snort日志转储到它中。我目前正在使用Kibana 4.3和ES 2.1
我做了一个查询来查看其中一个字段的映射,它表明它没有被分析,但正则表达式在整个字段中都不起作用。
"description": {
"type": "string",
"norms": {
"enabled": false
},
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed",
"ignore_above": 256
}
}
}
我在这里缺少什么?
答案 0 :(得分:0)
您可以使用groovy脚本:
matcher =(doc [fields.raw] .value =〜/ $ {pattern} /);
if(matcher.matches()){
matcher.group(matchname)}
你可以在params中传递模式和matchname。
insert into top(top_name) values ('first_top');
insert into mid(top_id, mid_name) select currval('top_top_id_seq'), 'first_mid_for_first_top';
insert into bot(mid_id, bot_name) select currval('mid_mid_id_seq'), 'first_bot_for_first_mid';
insert into bot(mid_id, bot_name) select currval('mid_mid_id_seq'), 'second_bot_for_first_mid';
insert into mid(top_id, mid_name) select currval('top_top_id_seq'), 'second_mid_for_first_top';
insert into top(top_name) values ('second_top');
insert into mid(top_id, mid_name) select currval('top_top_id_seq'), 'first_mid_for_second_top';
insert into bot(mid_id, bot_name) select currval('mid_mid_id_seq'), 'first_bot_for_thir_mid';
的含义是什么?如果你的情况更复杂,也许你可以制作一个原生的java插件。
更新
tried it across multiple fields.