Как получить документы, список которых содержит все запрашиваемые элементы

Предположим, что X - ваша матрица, мы можем сделать:

ind <- which(upper.tri(X, diag = TRUE), arr.ind = TRUE)
cbind(ind, X[ind])

. В некоторых случаях вам может понадобиться использование тусклых имен. В этом случае мы должны упорядочить результат в кадре данных, так как первые два столбца являются символами, а третий - числовыми.

ind <- which(upper.tri(X, diag = TRUE), arr.ind = TRUE)
nn <- dimnames(X)
data.frame(row = nn[[1]][ind[, 1]],
           col = nn[[2]][ind[, 2]],
           val = X[ind])
0
задан Claudiu Guja 26 March 2019 в 19:49
поделиться

1 ответ

Я понял, что должен использовать .all(), как в этом примере, чтобы убедиться, что все ингредиенты были в запрашиваемом списке, но, как было упомянуто в комментариях, это не решает проблему без учета регистра:

if (!recipeQuery.getIngredients().isEmpty()) {
            Criteria categories = Criteria.where("ingredients").all(recipeQuery.getIngredients());
            query.addCriteria(categories);
        }

это решает проблему также

if (!recipeQuery.getIngredients().isEmpty()) {
            Criteria categories = new Criteria();
            categories.andOperator(recipeQuery.getIngredients().stream()
                    .map(i -> Criteria.where("ingredients").regex(".*" + i + ".*", "i"))
                    .toArray(Criteria[]::new));
            query.addCriteria(categories);
        }
0
ответ дан Claudiu Guja 26 March 2019 в 19:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: