Tôi có vài tài liệu json với định dạng sau: -OR và AND nhà khai thác trong Elasticsearch truy vấn
_source: {
userId: "A1A1",
customerId: "C1",
component: "comp_1",
timestamp: 1408986553,
}
tôi muốn truy vấn các tài liệu dựa trên những điều sau đây: -
((userId == currentUserId) OR (customerId== currentCustomerId) OR (currentRole ==ADMIN)) AND component= currentComponent)
tôi đã cố gắng sử dụng SearchSourceBuilder và QueryBuilders.matchQuery, nhưng tôi không thể đặt nhiều truy vấn phụ với toán tử AND và OR.
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchQuery("userId",userId)).sort("timestamp", SortOrder.DESC).size(count);
Chúng tôi truy vấn elasticsearch bằng cách sử dụng toán tử OR và AND như thế nào?
'.minimumShouldMatch' lấy chuỗi chỉ làm đối số, phải không? – BairDev
@malte Bạn nói đúng. Trong trường hợp này, nó phải là 'minimumNumberShouldMatch' với một' int', hoặc 'minimumShouldMatch' với một' chuỗi'. Đã sửa. –
Tôi nghĩ rằng đây phải là câu trả lời được chấp nhận. +1 – NickGreen