类似正则表达式的弹性搜索查询
elasticsearch query like regex
我用的是kibana-4.5.0,elasticsearch 2.3.2
我想在 kibana 中通过这个查询“*'ve have”找到特定的句子。
它在 kibana 中不起作用。
所以,我在 kibana 中尝试了 span_near 过滤器。
{
"query": {
"span_near": {
"clauses": [
{
"span_term": {
"items": "*ve"
}
},
{
"span_term": {
"items": "have"
}
}
],
"in_order": true,
"slop": 1
}
}
}
同样,它没有用。
所以,我尝试在 head 插件中搜索查询。
http://localhost:9200/_search
{"query" : {
"span_near" : {
"clauses" : [
{ "span_term" : { "items" : "we've" } },
{ "span_term" : { "items" : "have" } }
],
"slop" : 1,
"in_order" : true
}
}
}
我使用了默认设置。所以我想我以前默认使用分析仪。
此外,我尝试了正则表达式查询,但它对我也不起作用。
我该怎么办?
"we've have" 或 "i've have" 或 "he've have"
那不是我的希望。我希望像“*有”
感谢阅读
不可能像你那样在ES中使用正则表达式,但你可以在elasticsearch中使用正则表达式:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html
我用的是kibana-4.5.0,elasticsearch 2.3.2
我想在 kibana 中通过这个查询“*'ve have”找到特定的句子。 它在 kibana 中不起作用。
所以,我在 kibana 中尝试了 span_near 过滤器。
{
"query": {
"span_near": {
"clauses": [
{
"span_term": {
"items": "*ve"
}
},
{
"span_term": {
"items": "have"
}
}
],
"in_order": true,
"slop": 1
}
}
}
同样,它没有用。
所以,我尝试在 head 插件中搜索查询。
http://localhost:9200/_search
{"query" : {
"span_near" : {
"clauses" : [
{ "span_term" : { "items" : "we've" } },
{ "span_term" : { "items" : "have" } }
],
"slop" : 1,
"in_order" : true
}
}
}
我使用了默认设置。所以我想我以前默认使用分析仪。
此外,我尝试了正则表达式查询,但它对我也不起作用。
我该怎么办?
"we've have" 或 "i've have" 或 "he've have"
那不是我的希望。我希望像“*有”
感谢阅读
不可能像你那样在ES中使用正则表达式,但你可以在elasticsearch中使用正则表达式:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html