Yaylı olarak Elastic Version 2.2.0 ile Elastics Version 2.0.1 kullanıyorum.Yay Veri 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
meta alan doğru doldurulur alır bir depo kullanarak ES nesneyi Kaydetme:
My DAO benzer. id
alanı için getter ve ayarlayıcı yöntemleri, _id
meta veri alanının değerini doğru bir şekilde döndürür. Ancak _source
alanındaki kimlik alanı boş.
2 soru: 1) Kimlik alanı neden boş? 2) Kimlik alanının null olması fark eder mi?
ES'nin kendi kimliklerini oluşturmasına izin veriyor musunuz yoksa kendi kimliğinizi mi sağlıyorsunuz? Yani, hiç 'MyDao.setId (" abcdxyz ")' diyorsunuz? – Val
ES'nin kendi kimliklerini oluşturmasına izin veriyorum. Kimliğin her iki alanda da gösterilmesini sağlamak için otomatik kimlik kimliğini kullanabilir miyim? – wxkevin
@wxkevin Farklı bir soru, ama pomlarınızı paylaşabilirsiniz. Spring-data-elasticsearch 2'yi kullanmaya çalışırken hatalarla uğraştım: [question-link] (http://stackoverflow.com/questions/37047845/cannot-use-custom-autoconfiguration-with-spring-data-elasticsearch/ 37107628) –