Python实现向solrclould提交pdf文件
来源:互联网 发布:js混淆加密压缩 编辑:程序博客网 时间:2024/06/05 11:31
根据官方文档,可以通过culr向solr提交文件,https://wiki.apache.org/solr/ExtractingRequestHandler
具体原理请阅读官方wiki
那么如何通过Python来实现呢?
1 在solrconfig.xml里配置ExtractingRequestHandler
<requestHandler name="/update/extract" class="solr.handler.extraction.ExtractingRequestHandler" startup="lazy"> <lst name="defaults"> <str name="fmap.content">text</str> #这个就是tika解析pdf文件后获得内容对应的字段 <str name="lowernames">true</str> <str name="uprefix">ignored_</str> # 很重要,配合schema.xml里设置的字段 </lst> </requestHandler>
2 在schema.xml里配置字段
<fields> <field name="_version_" type="long" indexed="true" stored="true"/> <field name="subject" type="text" indexed="true" stored="true"/> <field name="text" type="text" indexed="true" stored="false" multiValued="true"/> <field name="id" type="string" indexed="true" stored="true" required="true" /> #主键 <dynamicField name="ignored_*" type="ignored"/> #对应上面1中的ignored配置</fields>
3.官方wiki里用culr来提交文件如:
curl “http://localhost:8983/solr/update/extract?literal.id=doc2&commit=true” -F “tutorial=@tutorial.pdf”
那么Python怎么实现呢?
这里用Python的第三方库pycurl来实现,pycurl下载请移步 https://pypi.python.org/pypi/pycurl
上代码
import pycurl import cStringIO url = "localhost/solr/qa_file/update/extract?literal.id=filename&commit=true" cur = pycurl.Curl() fp = cStringIO.StringIO() cur.setopt(pycurl.WRITEFUNCTION, fp.write) cur.setopt(pycurl.FOLLOWLOCATION, 1) cur.setopt(pycurl.MAXREDIRS, 5) cur.setopt(pycurl.CONNECTTIMEOUT, 60) cur.setopt(pycurl.TIMEOUT, 300) cur.setopt(cur.POST, 1) cur.setopt(cur.URL, url) # cur.setopt(cur.POSTFIELDS, urllib.urlencode(post_data_dic)) cur.setopt(cur.HTTPPOST, [("file", (cur.FORM_FILE, r"E:\1Python\test.pdf"))]) cur.perform() status = cur.getinfo(cur.HTTP_CODE) bbody = fp.getvalue() print status, "\n", bbody cur.close()
literal.id=filename就是对应刚才配置字段里的id,也就是主键
这样就能在solr里通过pdf的内容检索到pdf了
0 0
- Python实现向solrclould提交pdf文件
- 向PDF文件插入图片
- python向网页提交数据
- Android向服务器提交文件
- python生成pdf文件
- python合并PDF文件
- Python读取PDF文件
- python解析pdf文件
- PDF文件如何向PPT文件转换
- python 实现endnote下载的pdf文件的整理
- Python+ImageMagick实现多图片合并为一个pdf文件
- Installing SolrClould
- 实现向服务器上传图片文件、实现不同方式的form表单提交方式
- WinEdt6+SumatraPDF--实现TeX和PDF文件正反向搜索!(转载)
- WinEdt 6+SumatraPDF--实现TeX和PDF文件正反向搜索!
- Python实现向s3共享存储上传和下载文件
- 向PDF文件添加QRcode二维码
- python 向网页提交数据post
- Android Studio Package 问题和解决
- 斐波那契数列 catalan
- 【Flash逆向调试之一】环境搭建
- oracle11g 建立全文索引
- c印记(二):lw_oopc简介
- Python实现向solrclould提交pdf文件
- EasyDarwin调研报告
- MySQL的if,case语句使用总结
- IntelliJ IDEA 15激活码(破解)
- Android 记住密码和自动登录界面的实现
- D - Multiplication Puzzle
- mongodb学习1(基础知识)
- SO_KEEPALIVE选项
- MFC Edit control的更新