solr富文本(pdf、word等文件)索引搜索

  1. 提醒:solr4.9和4.8是不支持jdk6的,需要jdk7,因为公司使用的是jdk6,所以我下载的是solr4.7.2版本,下载地址:http://mirror.bit.edu.cn/apache/lucene/solr/  选择4.7.2就可以了

  2. 分词下载的是IK Analyzer 2012FF_hf1,里面有非常丰富的文档来供应lucene和solr

  3. 安装十分简单,地址:http://my.oschina.net/qige/blog/174410 看这个及可以了。

  4. 修改配置文件:

    1. vi solrConfig.xml  找到文件下面的内容,修改成正确的路径
    2.  <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
        <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />
      
        <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
        <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />
      
        <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
        <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
      
        <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
        <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
    3. 再在solrConfig.xml文件中修改以下内容,找到/update/extract,修改节点:
    4.  <requestHandler name="/update/extract"
                        startup="lazy"
                        class="solr.extraction.ExtractingRequestHandler" >
          <lst name="defaults">
            <str name="fmap.content">context</str>
            <str name="uprefix">ignored_</str>
      
            <!-- capture link hrefs but ignore div attributes -->
            <str name="captureAttr">true</str>
            <str name="fmap.a">links</str>
            <str name="fmap.div">ignored_</str>
          </lst>
          <lst name="date.formats">
                <str>yyyy-MM-dd</str>
          </lst>
        </requestHandler>
    5. 保存修改结果

5.修改schema.xml文件

vi schema.xml文件 注释许多没用的内容,添加下面内容
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="name" type="text_ik" indexed="true" stored="true"/>
   <field name="context" type="text_ik" indexed="true" stored="false" multiValued="true"/>
   
   text_ik为我新添加的ik分词

6.添加索引

    

                
                String contentType = "application/word;charset=utf-8";
                
                ContentStreamUpdateRequest cs = new ContentStreamUpdateRequest(
				"/update/extract");
		cs.addFile(file, contentType);//添加文件、word、pdf等等,使用apache Tika做数据抽取
		
		String key = null;
		String value = null;
		
		for (Map.Entry<String, String> entry:params.entrySet()){
			
			key = entry.getKey();//field的name
			value = entry.getValue();
			
			cs.setParam(key, value);
		}
		cs.setParam("uprefix", "attr_");
		cs.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);
		
		server.request(cs);


这样索引就添加完了,可以使用solr应用来查看索引结构,查询跟平常的查询差不多。


转载于:https://my.oschina.net/qige/blog/299068

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值