我在文档检索中将 solr 搜索引擎用于我的项目目的。我的数据集是 .txt 文件格式。但 solr 仅提供 json、xml、pdf 和其他一些文件格式的选项。文本文件没有选项。
我是否需要对 solr 进行一些修改才能将 .txt 文件用作数据集?
5 回答
您可以使用 CSV 请求处理程序来处理这个问题。 https://wiki.apache.org/solr/UpdateCSV 在这里,您可以配置分隔符和转义字符。例如:如果你有一个“|” 分隔文件,可以指定“&separator=|”
下面是索引一个标签限制的文本文件:
curl ' http://localhost:8983/solr/update/csv?commit=true&separator=%09&escape= \&stream.file=/tmp/result.txt'
您需要做的就是索引您的 txt 文件。
有关更多信息和具体示例,请查看此处 - http://www.slideshare.net/LucidImagination/indexing-text-and-html-files-with-solr-4063407
很可能您将在 .txt 文件中使用空格分隔的文档。因此,要索引 .txt 文件,您可以编写 python 脚本将您的文档流式传输到 solr 并执行提交。
除了 txt 文件,Solr 还可以索引其他几种文档格式。查看Apache Tika了解详细信息。
我在快速入门指南https://lucene.apache.org/solr/5_3_1/quickstart.html中找到了非常有用的一行
java -classpath /solr-5.0.0/dist/solr-core-5.0.0.jar -Dauto=yes
-Dc=gettingstarted -Ddata=files -Drecursive=yes org.apache.solr.util.SimplePostTool docs/
对我特别有用的部分是-Dauto=yes
. 开启此选项后,Solr 可以处理多种类型的文件(不要问我为什么)
Entering auto mode. File endings considered are xml,json,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
我只知道我打开了该选项,现在我的实例将接受 pdf、xml 和 txt 文件。