具有n个单词分离和正则表达式的ElasticSearch(使用Tire gem)

时间:2013-07-18 15:18:16

标签: ruby regex elasticsearch tire

我正在使用ElasticSearch(使用Tire gem)。我有以下查询,该查询将与escaped catescaped black cat等匹配

我想知道,是否有可能要求ElasticSearch使用以下标准进行搜索:

  1. “转义[完全0或1个字] cat”ie)escaped \w{0,1} cat
  2. “逃出[n words] cat”ie)escaped \w{n} cat
  3. “转义[正则表达式] cat”ie“escaped (big|black|white) cat
  4. 当前搜索查询:

    {
      "query": {
        "bool": {
          "should": [
            {
              "query_string": {
                "query": "\"escaped ? cat\"",
                "analyzer": "snowball"
              }
            },
            {
              "query_string": {
                "query": "\"escaped ? cat\"",
                "default_operator": "and"
              }
            },
            {
              "flt_field": {
                "content": {
                  "like_text": "\"escaped ? cat\""
                }
              }
            },
            {
              "mlt_field": {
                "content": {
                  "like_text": "\"escaped ? cat\""
                }
              }
            }
          ]
        }
      }
    }
    

1 个答案:

答案 0 :(得分:0)

我认为可以使用Elasticsearch的{​​{3}}。

{
    "regexp":{
        "name.first": "s.*y"
    }
}

还有regexp query