0

在 solr 中,我必须在我的数据库的“名称”字段中获取 uniqque 值。

出于这个原因,我阅读了有关分组的信息并得到了解构的结果

{
  "responseHeader":{
    "status":0,
    "QTime":16,
    "params":{
      "indent":"true",
      "q":"name:И*",
      "group.field":"name",
      "group":"true",
      "wt":"json"}},
  "grouped":{
    "name":{
      "matches":2231,
      "groups":[{
          "groupValue":"ИВАН",
          "doclist":{"numFound":1144,"start":0,"docs":[
              {
                "obshtina":"ПЛОВДИВ",
                "phone":"032/670309",
                "timestamp":"2013-03-04T08:43:53.553Z"}]
          }},
        {
          "groupValue":"ИЛИЯ",
          "doclist":{"numFound":177,"start":0,"docs":[
              {
                "obshtina":"БРЕЗОВО",
                "phone":"(3191)2265",
                ..............................

我得到了第一个 groupValue

var  str = xmlhttp.responseText;

                alert (str); //here everything is OK - i get the respone correctly
                var rsp = JSON.parse(str);
                //var rsp = JSON.parse(xmlhttp.responseText);
                var srcAutoComp  = new Array();


alert ("grouped:" + rsp.grouped.name.groups[0].groupValue);

但似乎无论我读了多少,我都无法在 solr 的响应中找到组的数量,因此我可以在一个 cicle 中获得所有的 goupvalues。

F

4

1 回答 1

2

您可以使用group.ngroups来获取组的总数。
要获取所有组值,您可以在字段上设置方面,保持方面限制为 -1,这将确保您获得响应中的所有唯一组值。

于 2013-03-13T03:50:24.293 回答