首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr高亮显示返回id

Solr高亮显示返回id
EN

Stack Overflow用户
提问于 2017-07-21 12:00:15
回答 1查看 145关注 0票数 1

嗨,我正在做一个简单的高亮查询。

代码语言:javascript
复制
select?fl=name&hl.fl=name&hl=on&indent=on&q=cubo&wt=json

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

代码语言:javascript
复制
"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"]}}

我要这个..。有可能吗?我是怎么做到的?

代码语言:javascript
复制
"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"]}]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-21 13:52:51

我的猜测是,这是不可能的,因为结果集中可能存在不执行高亮显示的文档(也就是说,它不匹配可突出显示的术语,但仍然与文档匹配)。

如果您真的需要这样做,您可以在您的中间件中这样做(因为您已经标记了PHP,我将把它用于伪代码):

代码语言:javascript
复制
// 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; 
    }
} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45237130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档