У меня есть таблица 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 : ["@{}"] } }
] } ]