在Elasticsearch

时间:2016-05-10 06:05:43

标签: elasticsearch

我正在阅读本网站上的文档:https://www.elastic.co/guide/en/elasticsearch/guide/current/complex-core-fields.html#_how_inner_objects_are_indexed

我对这一段感兴趣:

内部字段可以通过名称引用(例如,第一个)。要区分具有相同名称的两个字段,我们可以使用完整路径(例如,user.name.first)或甚至类型名称加上路径(tweet.user.name.first)。 所以如果我有链接的文档站点的例子:

{
  "gb": {
    "tweet": { 
      "properties": {
        "tweet":            { "type": "string" },
        "user": { 
          "type":             "object",
          "properties": {
            "id":           { "type": "string" },
            "gender":       { "type": "string" },
            "age":          { "type": "long"   },
            "name":   { 
              "type":         "object",
              "properties": {
                "full":     { "type": "string" },
                "first":    { "type": "string" },
                "last":     { "type": "string" }
              }
            }
          }
        }
      }
    }
  }
}

根据文档我应该能够使用条件最后搜索:无论,但它不起作用。我总是必须使用完整路径 user.last:whatever 。文档是假的还是我对它的理解?请注意,最后只发生在内部对象中,因此理论上不需要完整路径来引用它。

编辑:

查询有效:

get /my_index/_search?q=user.name.last:test

查询不起作用,但应根据文档:

get /my_index/_search?q=last:test

0 个答案:

没有答案