【问题标题】:Elasticsearch - count occurrences of (unpredictable) strings in arrayElasticsearch - 计算数组中(不可预测的)字符串的出现次数
【发布时间】:2017-08-21 14:44:10
【问题描述】:

假设我有一个包含以下元素的数据库:

{
    "elmName" : "elm1",
    "arrayOfStrings" : [ "str1", "str4", "str2"]
},
{
    "elmName" : "elm2",
    "arrayOfStrings" : ["str4", "str3"]
},
{
    "elmName" : "elm3",
    "arrayOfStrings" : [ "str1"]
},
{
    "elmName" : "elm4",
    "arrayOfStrings" : []
}

“arrayOfStrings”中的字符串在搜索时是随机且未知的。 如何查询“arrayOfStrings”下所有唯一元素的计数,例如:

{
"str4" : 2,
"str2" : 1,
"str1" : 2,
"str3" : 1}

谢谢!

【问题讨论】:

    标签: c# elasticsearch elasticsearch-net


    【解决方案1】:

    您可以使用 LINQ 将所有子列表扁平化为一个,然后按键分组并计算出现次数:

     ListOfObjects.SelectMany(x => x.arrayOfStrings).GroupBy(x => x).Select(x => new KeyValuePair<string, int>(x.Key, x.Count()))
    

    ElasticLinq

    【讨论】:

      猜你喜欢
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      • 2015-09-20
      • 2014-04-24
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      相关资源
      最近更新 更多