Отобразить объект json, сохраненный в базе данных, чтобы решить

У меня есть таблица HBase с некоторыми данными, как показано ниже

ROW                                                    COLUMN+CELL
 test2                                                 column=data:json, timestamp=1560259758891, value={"name" : "john", "age" : "25", "gender" : "M"}

Я настроил индексатор hbase lily и индексирую данные в solr, отображая данные в поле данных в solr, однако мне интересно, можно ли сопоставить отдельные поля в json с полями в solr. Например

Json анализируется, и поле имени отображается в поле имени в solr.

У меня есть пример morphline, но он не работает, и я не уверен, что можно добиться того, чего я хочу

SOLR_LOCATOR : {   # Name of solr collection   collection : collection
     # ZooKeeper ensemble   zkHost : "$ZK_HOST"  }


morphlines : [ {
    id : morphline1
    importCommands : ["org.kitesdk.**", "org.apache.solr.**", "com.ngdata.**"]
    commands : [
      {
         extractHBaseCells {
          mappings : [
            {
             inputColumn : "data:json"
              outputField : "_attachment_body"
              type : "byte[]"
              source : value
            }
         ]
        }
      }

      #for avro use with type : "byte[]" in extractHBaseCells mapping above
      { readJson {} }
      {
        extractJsonPaths {
         flatten: true
         paths: {
            name: /name
            age: /age
            gender: /gender
        }
      }
          {         sanitizeUnknownSolrFields {             solrLocator : ${SOLR_LOCATOR}       }     }

      { logTrace { format : "output record: {}", args : ["@{}"] } }
    ]  } ]

0 ответов

Другие вопросы по тегам