solrconfig.xml中定义的
<requestHandler name="/update/extract" class="org.apache.solr.handler.extraction.ExtractingRequestHandler">
<lst name="defaults">
<str name="fmap.Last-Modified">last_modified</str>
<str name="uprefix">ignored_</str>
</lst>
<!--Optional. Specify a path to a tika configuration file. See the Tika docs for details.-->
<str name="tika.config">/my/path/to/tika.config</str>
<!-- Optional. Specify one or more date formats to parse. See DateUtil.DEFAULT_DATE_FORMATS for default date formats -->
<lst name="date.formats">
<str>yyyy-MM-dd</str>
</lst>
</requestHandler>
需要额外jar包支持:
apache-solr-cell-1.4.0.jar
请求的URL样例:
http://16.158.149.182:8080/solr/update/extract?literal.id=22&literal.name=alern2&literal.fullname=alern2.txt&literal.type=file&literal.size=16&literal.datecreated=1281429683820&literal.datelastmodify=1281429683820&literal.userid=1&literal.location=My Files&commit=true&stream.url=http://localhost:8080/kumulus_data/kumulus_local/uid1/1281429683820?AWSAccessKeyId=AKIAJB36UFEVFFJ3P4TQ&Expires=1281444093&Signature=zn2D1frVIv1aDV7drby5Iu7iLng%3D&oh=s3.amazonaws.com
/solr/update/extract 请求url
literal.id=22 相当于XML中定义的<field name="id">22</field>
commit=true 直接提交事务
stream.url 指向富文本文件URL ,这里URL是有问题的,里面的& 符号未被处理,提交会失败。
相对的还有stream.file
详细看WIKI
http://wiki.apache.org/solr/ExtractingRequestHandler
简单样例:
里面url是可用的,其他URL都没经过URLEncoding.url,都有问题
这里的例子中,都使用HttpURLConnection链接,level有点低,可以考虑使用appach的HTTPClient,帮助解决多线程安全等问题,更安全可靠。
使用传统XML提交索引例子:
/update