2016-06-27 7 views
-1

私がマップしたフィールドにオブジェクトが必要な場所をインデックスしようとしています。よるとElasticsearch-PHPを使用したjson_arrayオブジェクトの作成

https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/_dealing_with_json_arrays_and_objects_in_php.html

$params['body'] = [ 

      'location' => new \stdClass() 

    ]; 

は、空のPHPオブジェクトを示すのに十分であったはずが、それは場所がオブジェクトマッピングであり、それは間違っていることを示すミスマッチに失敗しました。

私はまた、次のことを試してみました:

$params['body'] = [ 

      'location' => new \stdClass(['lat'=>0,'lon'=>0]) 

    ]; 

しかし、それは同じ理由で失敗しました。しかしながら

私はelasticsearchする生カールAPIを行う場合:

curl -XPOST 'http://localhost:9200/my_index/my_type/1' -d '{ "場所":{ "LAT":0.0、 "経度":0.0}}を'

この作品。

答えて

0

また、単純に連想配列を使用してみてください、それが動作することができます。

$params['body'] = [ 

     'location' => array('lat' => 0, 'lon' => 0) 

]; 
関連する問題