弹性搜索没有返回任何结果

时间:2013-11-28 12:20:24

标签: elasticsearch

我有Elasticsearch证明违反直觉的行为。这可以通过以下步骤重现

1)添加文件

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

2)搜索“bar”。我希望得到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)搜索“bar”。我希望得到1个结果

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

6)Sarch为'qux'。我期待1个结果,但得到0 ???

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

为什么当文档中的嵌套对象具有与文档类型匹配的键时,我不能再使用与该类型不匹配的键的其余对象获得结果。

1 个答案:

答案 0 :(得分:1)

这是elasticsearch 0.90.0中的已知问题。

请参阅“使用与其类型同名的嵌套对象进行错误的映射” https://github.com/elasticsearch/elasticsearch/issues/3005