(三) 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'

 

 

posted @ 2012-10-29 12:10  涛光  阅读(6934)  评论(1编辑  收藏  举报