фильтрация solr и javascript фильтрация - PullRequest
0 голосов
/ 01 февраля 2020

Когда я запускаю Solr, я получаю вывод, как это, но мне нужно показать "response":{"numFound":4,"start":0,"maxScore":0.21373023,"docs"} строку и все строки имеют идентификатор

это мой html

<div id="response">
  <pre class="syntax language-{{lang}} content"><code ng-bind-html="response.data | highlight:lang | unsafe ">
{{hostPortContext}} {{url}} `

это мой запрос. js, что в связи с результатом (здесь« данные »- это объект результата)

  var url = Query.url(params);

  Query.query(params, function(data) {
    $scope.lang = $scope.query.wt;
    if ($scope.lang == undefined || $scope.lang == '') {
      $scope.lang = "json";

    }
    $scope.response = data ;
    $scope.filterdata=$filter('uppercase') ($scope.response);

    $scope.url = url;


    $scope.hostPortContext = $location.absUrl().substr(0,$location.absUrl().indexOf("#")); 
  });`

и получил этот результат

{
  "responseHeader":{
    "zkConnected":true,
    "status":0,
    "QTime":21,
    "params":{
      "q":"sed",
      "_":"1580536766390"}},
  "response":{"numFound":4,"start":0,"maxScore":0.21373023,"docs":[
      {
        "id":"/home/sama/sama_installer/masternode",
        "attr_stream_size":["15732"],
        "attr_x_parsed_by":["org.apache.tika.parser.DefaultParser",
          "org.apache.tika.parser.txt.TXTParser"],
        "attr_stream_content_type":["application/octet-stream"],
        "attr_content_encoding":["ISO-8859-1"],
        "attr_resourcename":["/home/sama/sama_installer/masternode"],
        "content_type":"application/x-sh; charset=ISO-8859-1",
        "language":"en",
    ...

        "_version_":1657306606928396288,
        "content":" #!/bin/bash\n#installetion sama project on master\n#cheeke exits sama 
      {

        "id":"/home/sama/sama_installer/start.sh",
        "attr_stream_size":["290"],
        "attr_x_parsed_by":["org.apache.tika.parser.DefaultParser",
          "org.apache.tika.parser.txt.TXTParser"],
        "attr_stream_content_type":["application/octet-stream"],
        "attr_content_encoding":["ISO-8859-1"],
        "attr_resourcename":["/home/sama/sama_installer/start.sh"],
        "content_type":"application/x-sh; charset=ISO-8859-1",
        "content":" #!/bin/bash\nstart-all.sh\nt=$(cat /var/sama/nodelist)\nfor i in  ,
        "language":"en",
        "content_type_type_s":"application",
        "content_type_subtype_s":"x-sh",
        "url_ss":["start-all.sh",
          "zkServer.sh"],
        "_version_":1657306608004235264}]
  }}

1 Ответ

0 голосов
/ 01 февраля 2020

Я предполагаю, что данные соответствуют вашему Вопросу. Вы можете получить данные следующим образом. Если он возвращает undefined, это означает, что нет параметра с именем 'id', иначе присутствует 'id'

var data = {
  "responseHeader": {
    "zkConnected": true,
    "status": 0,
    "id": 101,
    "QTime": 21
  },
  "response": {
    "numFound": 4,
    "start": 0,
    "maxScore": 0.21373023,
    "id": 102
  },
  "response1": {
    "numFound": 4,
    "start": 0,
    "maxScore": 0.21373023
  }
}
console.log(data.response)
console.log(data.responseHeader["id"])
console.log(data.response["id"])
console.log(typeof(data.response1["id"]) == "undefined") //This way you can check if id is present or not.
if (typeof(data.response["id"]) != "undefined") {
  console.log(data.response)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...