Solr 4 を使用して Java Web アプリケーションで検索しています。Solr は JSON 応答を生成し、そこから検索結果を抽出して HTML に変換し、ユーザーがそれを読み取れるようにする必要があります。私は 1 つの解決策を知っていますが、それはばかげているように思えます。賢明なアイデアがあるに違いないと思います。
{
"responseHeader": {
"status": 0,
"QTime": 0,
"params": {
"fl": "id,title",
"indent": "true",
"q": "solr",
"wt": "json"
}
},
"response": {
"numFound": 3,
"start": 0,
"docs": [
{
"id": "1",
"title": "Solr cookbook"
},
{
"id": "2",
"title": "Solr results"
},
{
"id": "3",
"title": "Solr perfect search"
}
]
}
}
その後、このテキストを次のように評価します。
var obj = eval ("(" + txt + ")");
HTMLページを生成するには、どちらかを使用できます
<script>
document.getElementById("id").innerHTML = obj.response.docs[1].id
document.getElementById("title").innerHTML = obj.response.docs[1].title
</script>
or
document.write(obj.response.docs[1].id);
ただし、solr が異なるオブジェクト構造で応答を返すたびに制限があります。つまり、オブジェクトには age フィールドがあるかもしれませんが、クエリに依存するため、他のオブジェクトにはありません。
単一の JSP ページを使用して、すべての検索クエリの検索結果 (Google など) を表示したい
スキーマが異なる可能性のある検索結果に対して機能する単一のコードセグメントを作成することは可能ですか?
私の場合に発生する可能性のあるエラーが発生した後、Javascriptが機能しなくなります。これも問題です。 for ループを使用してオブジェクト階層をトラバースすると、エラーが発生しやすくなります。
シングルビューページで可能ですか ありがとうございます。