(三) solr 索引数据导入:json格式
如果我们有一个基于JavaScript的应用需要使用solr,此时再使用xml的格式可能就是一个很好的选择,因为它太大而且还需要转换。因此可以采用json,进行相应的处理。
下面就是具体的实现方式:
schema.xml的部分配置如下:
<field name="id" type="string" stored="true" indexed="true"/> <field name="name" type="string" stored="true" indexed="true" omitNorms="false"/> <field name="author" type="string" stored="true" indexed="true" multiValued="true"/>
下面是需要准备进行索引的json数据格式,并且需要对某些书籍的书名标识一下它们的重要程度高于其它书籍:books.json
{ "add": { "overwrite": true, "doc": { "id": 1, "name": "Some book", "author": ["John", "Marry"] } } , "add": { "overwrite": true, "boost": 2.5, "doc": { "id": 2, "name": "Important Book", "author": ["Harry", "Jane"] } } , "add": { "overwrite": true, "doc": { "id": 3, "name": "Some other book", "author": "Marry" } } }
为了能够将上面的json文档提交给solr,还需要在solrconfig.xml文件中添加以下配置,为json格式的文档处理添加一个请求处理方式:
<requestHandler name="/update/json" class="solr.JsonUpdateRequestHandler" />
以上的配置完毕之后,我们可以采用以下的方式开始向solr提交我们刚才的json文档了
curl http://localhost:8983/solr/update/json --data-binary @books.json -H 'Content-type:text/json; charset=utf-8'