c# - 如何返回字段中所有值的列表
问题描述
我有一个像这样的文件:
{
"Id":"1",
"Name":"product1",
"Categories":["Cat1",
"Cat2",
"Cat3"]
},
{
"Id":"2",
"Name":"product2",
"Categories":["Cat3",
"Cat2",
"Cat6"]
}
现在我想返回所有类别的不同列表。我尝试了 CollapseParameter,但它不起作用。
var foo = _solr.Query(new SolrQuery("*"), new QueryOptions
{
Collapse = new CollapseParameters("Categories")
});
var bar= results.CollapseExpand; //NULL
如何在不遍历所有文档的情况下获取所有类别的列表?我必须为类别创建新文档吗?还是我应该使用 Faceting?
解决方案
看起来 JSON 无效。所以我创建了一个更改 Json 的解决方案:
{
"items": [{
"Id": "1",
"Name": "product1",
"Categories": ["Cat1", "Cat2", "Cat3"]
}, {
"Id": "2",
"Name": "product2",
"Categories": ["Cat3", "Cat2", "Cat6"]
}]
}
然后,我使用了 foreach 和 LINQ 结构:
var x = categories.SelectMany(item => item.Categories).Distinct();
推荐阅读
- javascript - 如何返回 JavaScript 中的目录?
- sharepoint - Microsoft MSAL - 获取多个范围的令牌
- android - 可以通过忽略资源文件夹中附加的一些图像文件来生成 apk
- c# - 使一个日期比其他 c# 大
- dao - 如何将HAC灵活查询转换为DAO查询
- git - 当列表中的任何 git 分支有提交时如何触发 Jenkins 作业
- optimization - 如何在 PyTorch 的前向传递中使用优化器
- swift - 将搜索栏链接到集合视图
- python - LSTM 返回带有 Sigmoid 激活的概率序列
- java - 为什么在迁移到 Java 11 后,标题“Accept: application/xml”在 Spring Boot 中不起作用?