Mam kilka dokument json z następującym formacie: -OR i AND Operatorzy w Elasticsearch zapytania
_source: {
userId: "A1A1",
customerId: "C1",
component: "comp_1",
timestamp: 1408986553,
}
Chcę kwerendy dokument na podstawie następujących elementów: -
((userId == currentUserId) OR (customerId== currentCustomerId) OR (currentRole ==ADMIN)) AND component= currentComponent)
Próbowałem za pomocą SearchSourceBuilder i QueryBuilders.matchQuery, ale nie byłem w stanie umieścić wielu zapytań podrzędnych z operatorem AND i OR.
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchQuery("userId",userId)).sort("timestamp", SortOrder.DESC).size(count);
W jaki sposób przeprowadzamy kwerendę elastyczną przy użyciu operatorów OR i AND?
'.minimumShouldMatch' pobiera ciąg tylko jako argument, prawda? – BairDev
@malte Masz rację. W tym przypadku powinno to być 'minimumNumberShouldMatch' z' int' lub 'minimumShouldMatch' z' string'. Poprawione. –
Myślę, że to powinna być akceptowana odpowiedź. +1 – NickGreen