2013-11-28 184 views
1

我有Elasticsearch展示违反直觉的行为。这是可重复使用以下步骤弹性搜索没有返回结果

1)添加

curl -XPUT 'http://myelasticseach:1234/anindex/atype/1' -d ' 
{ 
    obj1: 
    { 
    foo : "bar" 
    }, 
    obj2 : 
    { 
    baz : "qux" 
    } 
}' 

2文档)搜索 '栏'。我期待并得到1结果

curl -XGET 'http://myelasticseach:1234/anindex/_search?q=bar' 

3)搜索'qux'。我希望并获得1个结果

curl -XGET 'http://myelasticseach:1234/anindex/_search?q=qux' 

4)更新文档

curl -XPUT 'http://myelasticseach:1234/anindex/atype/1' -d ' 
{ 
    atype: 
    { 
    foo : "bar" 
    }, 
    obj2 : 
    { 
    baz : "qux" 
    } 
}' 

5)搜索 '栏'。我期望并得到1结果

curl -XGET 'http://myelasticseach:1234/anindex/_search?q=bar' 

6)查找'qux'。我期望1结果,但得到0?

curl -XGET 'http://myelasticseach:1234/anindex/_search?q=qux' 

为什么当文档中的嵌套对象有一个关键的匹配文件的类型,我可以不再获得来自其余对象结果与不匹配的类型键。

回答