首先,我对ElasticSearch很新。
我使用ElasticSearch中唯一的字符串索引了10万个文档。该字符串包含以空格分隔的术语/单词:
1:1 2 2 2 3 1:2 1:3
每个单词都是由某个设备生成的事件代码。字符串/文档本身是由该设备生成的所有事件的序列。
我需要找到所有文件/设备,这些文件/设备遵循一些模式/事件序列。 E.g:
1:1 -> 1:2 -> 1:3
我在ElasticSearch中进行正则表达式搜索:
{
query: {
bool: {
must: [
{
query_string: {
default_field: "device.event",
query: "1:1.*1:2"
}
}
]
}
}
}
工作正常 - 返回1个文件。 但是,当我执行下面的查询时,找不到匹配项:
{
query: {
bool: {
must: [
{
query_string: {
default_field: "device.event",
query: "1:1.*1:3"
}
}
]
}
}
}
使用.*
我想跳过1:1
和1:3
之间的所有字词,但显然它不起作用。