Tôi đang sử dụng Spring Data Elasticsearch 2.0.1 với phiên bản Elastic 2.2.0.Dữ liệu mùa xuân Elasticsearch id so với _id
DAO của tôi là tương tự như:
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>
}
Tiết kiệm đối tượng để ES sử dụng một kho lưu trữ các lĩnh vực _id
siêu dữ liệu được dân cư một cách chính xác. Các phương thức getter và setter cho trường id
trả về chính xác giá trị của trường siêu dữ liệu _id
. Nhưng trường id trong trường _source
là null.
2 câu hỏi: 1) Tại sao trường id trống? 2) Có quan trọng là trường id là null?
Bạn có cho phép ES tạo ID riêng của mình hay bạn đang cung cấp ID của riêng mình? tức là bạn đang gọi tất cả 'MyDao.setId (" abcdxyz ")'? – Val
Tôi cho phép ES tạo ID riêng của mình. Tôi có thể sử dụng tạo ID tự động để ID hiển thị trong cả hai trường không? – wxkevin
@wxkevin Một câu hỏi khác, nhưng bạn có thể chia sẻ pom của bạn không. Tôi đang mắc kẹt với lỗi trong khi cố gắng sử dụng dữ liệu mùa xuân-elasticsearch 2: [câu hỏi liên kết] (http://stackoverflow.com/questions/37047845/cannot-use-custom-autoconfiguration-with-spring-data-elasticsearch/ 37107628) –