Отобразить объект 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 : ["@{}"] } }
] } ]