2017-06-02 52 views
0

当我指数Solr的以下文件:我如何通过solr/lucene中的字段对片段进行分组?

[ 
    { 
    "id" : "978-0641723445", 
    "name" : "The Lightning Thief", 
    "author" : "Rick Riordan", 
    "series_t" : "Rick Jackson and the Olympians", 
    } 
, 
    { 
    "id" : "978-1423103349", 
    "cat" : ["book","paperback"], 
    "name" : "The Sea of Monsters", 
    "author" : "Rick Riordan", 
    "series_t" : "Rick Jackson and the Olympians", 
    } 
] 

和运行以下查询: http://localhost:8983/solr/gettingstarted/select?hl.fl=name&hl=on&indent=on&q=rick&rows=20&wt=json

我想有一个包含每个匹配字段的名称的摘录和子摘录该字段的内容(子摘录的实际格式是不那么重要):

"responseHeader": { 
    "status": 0, 
    "QTime": 1, 
    "params": { ... 
    }, 
    "response": { 
     "numFound": 2, 
     "start": 0, 
     "docs": [{ 
       "id": "978-0641723445", 
       .. { 
        "id": "978-1423103349", 
        .. 
       }], 
      "highlighting": { 
       "978-0641723445": { 
        "author": "Rick Riordan", 
        "series_t": "Rick Riordan and..." 
       }, 
       "978-1423103349": { 
        "author": "Rick Riordan", 
        "series_t": "Rick Riordan and..." 

       } 
      } 
     } 
    } 

怎么办我必须改变我的Solr查询做到这一点?或者这种变化是否需要定制solr/lucene荧光笔?

+0

您是否尝试过'hl.requireFieldMatch = true'与'hl.fl = *' - 这应该会让您在查询匹配的所有字段上突出显示。 – MatsLindh

+0

谢谢@MatsLindh,这个解决方案适合我! – layoutanalysis

回答

相关问题