Solr 6如何更改响应字段

时间:2017-09-11 07:45:55

标签: solr lucene

5.1我需要更改json响应的字段值我该怎么办?

以下示例

<html>
        <head>
            <meta charset="utf-8"/>
            <link rel="stylesheet" href="style.css"/>   
            <title>UMA forgerock test appli</title>
        </head>

        <body>
            <h2 id="generateCode">Retrieve authorization code</h2>
                <form method="post" action="">
                    <input id="bouton" type="submit" name="generateCode" value="generateCode">
                </form>
            <?php
                if(isset($_POST['generateCode'])) {
                    $url = "http://openam.test.com:8080/openam/oauth2/authorize";
                    $params = array(
                        "response_type" => "code",
                        "client_id" => xxx,
                        "realm" => "/openLDAP",
                        "redirect_uri" => 'http://uma.test.com/umaTestAppli',
                        "scope" => "profile"
                    );

                    $request_to = $url . '?' . http_build_query($params);
                    header("Location: " . $request_to);
                }
            ?>
        </body>
    </html> 

我需要将对studentList和docs的响应更改为下面的学生

{
responseHeader: {
status: 0,
QTime: 2
},
response: {
numFound: 1,
start: 0,
 docs: [
{
Id: "111445",
name: "TEST",
}
]
}
}

请帮助我们解决此问题。?

1 个答案:

答案 0 :(得分:1)

有一种方法可以完全在Solr这边做 - 你需要实现org.apache.solr.response.QueryResponseWriter,类似于org.apache.solr.response.JSONResponseWriter,但不知何故覆盖响应中的字段名称并提供你自己的值。

然而,我100%肯定,在Solr之外(在服务方面,甚至在前端方面)执行任务将是更好的选择,只需使用所需标签更新响应