业务目的:
数据在hive中,用 location:山东,河北,陕西 这种来存储,后入到hbase中,
现在将hbase数据导入solr后,同时期待 搜索 location:山东 location:河北 location:陕西 都能搜索到这条记录
处理流程:
solr schema.xml中,
<field name="locaiton" type="string" indexed="true" stored="true" required="false"
multiValued="true"/>
multiValued: 多值
然后在代码(map中),写法如下:
if("location".equals(fieldName)) {
String[] vals = fieldValue.split(",");
for(String val : vals){
solrDoc.addField("location",val);
}
}
这样,虽在在solr中查看的时候界面样子:
"location" : [
"山东",
"河北",
"陕西"
]
但是solr界面搜索 location:"山东" 都能搜索到,达到目的。
参考链接: