繁体   English   中英

Solr高亮显示返回ID

[英]Solr Highlighting return id

嗨Iam做一个简单的重点查询

select?fl=name&hl.fl=name&hl=on&indent=on&q=cubo&wt=json

问题是结果。 我不想要json响应中的id

"highlighting":{
    "fbd29a94-b53d-4de0-8e74-046bf1f921cd":{
      "name":["<em>Cubo</em> de Roda Dianteiro para Ford"]},
    "f6ddf7a0-352e-4789-8e29-ca927274c5cc":{
      "name":["<em>Cubo</em> de Roda Traseiro para Jac Motors"]},
    "1901086a-1867-4c8a-a2b7-ce7578e352c3":{
      "name":["<em>Cubo</em> de Roda Dianteiro para Nissan"]}}

我想要这...可能吗? 我该怎么做?

"highlighting":[
    {"name":["<em>Cubo</em> de Roda Dianteiro para Ford"]},
    {"name":["<em>Cubo</em> de Roda Traseiro para Jac Motors"]},   
    {"name":["<em>Cubo</em> de Roda Dianteiro para Nissan"]}]

我的猜测是不可能的,因为结果集中可能有文档未对其进行突出显示(即,它与可突出显示的术语不匹配,但仍与文档匹配)。

如果确实需要此功能,则可以在中间件中进行(因为您已经标记了PHP,因此我将其用于伪代码):

// keep highlighted entries in sequence
$highlights = [];

foreach ($hits as $doc) {
    // if we have a highlighting element for this document
    if (!empty($result['highlighting'][$doc['id']])) {
        // keep the highlighted text
        $highlights[] = $result['highlighting'][$doc['id']];
    } else {
        // .. and if we don't, add a null element so indices match
        $highlights[] = null; 
    }
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM