Elasticsearch'在'查询之间

时间:2015-02-23 14:41:41

标签: elasticsearch

如何在Elasticsearch中执行'between'查询?

基本上,我想要这个。

只有在Phrase1和Phrase2之间存在TermA时才能找到它。

Phrase1 --- TermA --- Phrase2 =>匹配

一个具体的例子:

原文:“快速的棕色狐狸跳过懒狗。”

我想按顺序匹配。

  • PhraseA =“快速褐色”
  • Term =“jumped”
  • PhraseB =“懒狗”

任何指导都会有所帮助。

1 个答案:

答案 0 :(得分:2)

ES支持正则表达式。

https://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-regexp-filter.html#query-dsl-regexp-filter

你应该可以做类似的事情:

{
    "filtered": {
        "filter": {
            "regexp":{
                "name.first" : "phraseA.*termA.*phraseB"
            }
        }
    }
}