私は、Elasticバージョン2.2.0のSpring Data Elasticsearch 2.0.1を使用しています。Spring Data Elasticsearch id vs. _id
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
@Document(indexName = "myIndex")
public class MyDao {
@Id
private String id;
public String getId() { return id; }
public void setId(String id) { this.id = id; }
<other fields, setters, getters omitted>
}
が_id
メタデータ・フィールドが正しく読み込まれますリポジトリを使用してESにオブジェクトを保存:
私のDAOは似ています。 id
フィールドのgetterメソッドとsetterメソッドは、_id
メタデータフィールドの値を正しく返します。しかし、_source
フィールド内のidフィールドはnullです。
2つの質問: 1)なぜidフィールドがnullですか? 2)idフィールドがnullであることは重要ですか?
ESに独自のIDを生成させたり、自分のIDを提供したりしていますか?つまり、あなたは 'MyDao.setId(" abcdxyz ")'を呼んでいますか? – Val
私はESに独自のIDを生成させます。 IDの自動生成を使用して、両方のフィールドにIDを表示することはできますか? – wxkevin
@wxkevin別の質問ですが、あなたのポームを共有できますか?私はspring-data-elasticsearch 2を使用しようとしている間にエラーで立ち往生しています:[question-link](http://stackoverflow.com/questions/37047845/cannot-use-custom-autoconfiguration-with-spring-data-elasticsearch/ 37107628) –