Solr группы включают в себя два результата - PullRequest
0 голосов
/ 13 марта 2019

У меня проблема с группировкой в ​​solr. Мой запрос такой

http://localhost:8983/solr/archiveCore/select?group.field=PackName&group=true&q=PackName:*&rows=2147483647&start=0&wt=json&indent=true&fl=PackName

И ответ на запрос, как это

{
  "responseHeader":{
    "status":0,
    "QTime":39,
    "params":{
      "q":"PackName:*",
      "indent":"true",
      "fl":"PackName",
      "start":"0",
      "rows":"2147483647",
      "wt":"json",
      "group.field":"PackName",
      "group":"true"}},
  "grouped":{
    "PackName":{
      "matches":112559,
      "groups":[{
          "groupValue":"06",
          "doclist":{"numFound":20423,"start":0,"docs":[
              {
                "PackName":["06 Delivery Documents - MiniPack"]}]
          }},
        {
          "groupValue":"08",
          "doclist":{"numFound":105,"start":0,"docs":[
              {
                "PackName":["08 DER-PMA-OTC"]}]
          }},
        {
          "groupValue":"10",
          "doclist":{"numFound":2030,"start":0,"docs":[
              {
                "PackName":["10 Vendor Scrap Reports"]}]
          }},
        {
          "groupValue":"11",
          "doclist":{"numFound":75,"start":0,"docs":[
              {
                "PackName":["11 WIP TPL"]}]
          }},
        {
          "groupValue":"01",
          "doclist":{"numFound":1375,"start":0,"docs":[
              {
                "PackName":["01 Documents From Customer"]}]
          }},
        {
          "groupValue":"02",
          "doclist":{"numFound":22197,"start":0,"docs":[
              {
                "PackName":["02 Incoming"]}]
          }},
        {
          "groupValue":"03",
          "doclist":{"numFound":1771,"start":0,"docs":[
              {
                "PackName":["03 Workscope"]}]
          }},
        {
          "groupValue":"04",
          "doclist":{"numFound":38595,"start":0,"docs":[
              {
                "PackName":["04 Module and Part Pictures - V25"]}]
          }},
        {
          "groupValue":"05",
          "doclist":{"numFound":25899,"start":0,"docs":[
              {
                "PackName":["05 Outgoing"]}]
          }},
        {
          "groupValue":"07",
          "doclist":{"numFound":75,"start":0,"docs":[
              {
                "PackName":["07 Engine Status Report"]}]
          }},
        {
          "groupValue":"09",
          "doclist":{"numFound":14,"start":0,"docs":[
              {
                "PackName":["09 Accessories Work Shop Reports"]}]
          }}]}}

Проблема в первой группе. Первая группа включает в себя более одного пакета PackName, например 06 Документы доставки - MiniPack и 06 Документы доставки - FinalPack . Я не хочу включать их обоих. Как я могу отделить их? Есть ли решение?

1 Ответ

0 голосов
/ 13 марта 2019

При индексации документа добавьте новое поле, в котором вы обработали исходный контент, в контент, который хотите представить.Выполнение этого во время выполнения не позволит использовать механизм поиска документов, такой как Solr.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...