老鬼的博客 来都来啦,那就随便看看吧~
solr篇七:solr进行word,txt,excel等文件进行检索
发布于: 2019-12-07 更新于: 2023-11-08 分类于:  阅读次数: 

一:相关参考文档

二:介绍

1
2
本片主要介绍对我们常用的word,excel,txt等等文件进行文字检索,本篇创建了一个db_files的core,
创建步骤这里不再阐述。

三:相关配置文件

  • db-data-config.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<dataConfig>
<dataSource type="BinFileDataSource"/>
<document>
<entity name="file" processor="FileListEntityProcessor" dataSource="null"
baseDir="${solr.install.dir}/db_files_search" fileName=".*\.(DOC)|(PDF)|(pdf)|(doc)|(docx)|(ppt)|(txt)|(log)"
rootEntity="false" onError="skip" recursive="true">
<field column="fileAbsolutePath" name="id" />
<field column="fileSize" name="size" />
<field column="fileLastModified" name="lastModified" />
<entity name="tika-test" dataSource="bin" processor="TikaEntityProcessor"
url="${file.fileAbsolutePath}" format="text" onError="skip">
<field column="Author" name="author" meta="true"/>
<field column="title" name="title" meta="true"/>
<field column="dc:format" name="format" meta="true"/>
<field column="text" name="content"/>
</entity>
</entity>
</document>
</dataConfig>
  • managed-schema
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!-- 添加索引字段 (renjie) -->


<!-- ik 分词 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

<uniqueKey>id</uniqueKey>
<field name="content" type="text_ik" indexed="true" stored="true" omitNorms="true" multiValued="false"/>
<field name="author" type="text_ik" indexed="true" stored="true"/>
<field name="title" type="text_ik" indexed="true" stored="true"/>
<field name="fileName" type="string" indexed="true" stored="true"/>
<field name="filePath" type="string" indexed="true" stored="true" multiValued="false"/>
<field name="size" type="plong" indexed="true" stored="true"/>
<field name="lastModified" type="pdate" indexed="true" stored="true"/>

<!-- 索引复制,联合索引 -->
<field name="keyword" type="text_ik" indexed="true" stored="true" omitNorms="true" multiValued="true"/>
<copyField source="author" dest="keyword" maxChars="30000"/>
<copyField source="title" dest="keyword" maxChars="30000"/>
<copyField source="content" dest="keyword" maxChars="30000"/>
<copyField source="fileName" dest="keyword" maxChars="30000"/>
<!-- end -->
  • solrconfig.xml
1
2
3
4
5
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
*************感谢您的阅读*************