【问题标题】:SOLR/LUCENE Experts, please help me design a simple keyword search from PDF index?SOLR/LUCENE专家,请帮我设计一个简单的PDF索引关键字搜索?
【发布时间】:2011-10-18 11:38:10
【问题描述】:

我涉足过 solr,但无法找到适合我要求的方法。

我有什么:

一堆 PDF 文件。 一组关键字。

我想要达到的目标:

为 PDF 文件编制索引(solrcell - 完成) 搜索关键字(工作正常) 定制输出以吐出 PDF 文件的名称,关键字出现的摘录(不知道如何做)

尝试操作 ResponseHandler/Schema.xml/Solrconfig.xml 无济于事。

Lucene/solr 专家,您认为我想要实现的目标可行吗?

我把我现有的代码放在 github @https://github.com/ThinkCode/solr_search 上(这主要是 solr 的默认示例,对字段进行了少量修改(所有内容都存储在一个内容字段中)。

schema.xml 的显着变化是:

Schema.xml:

<solrQueryParser defaultOperator="AND"/>

   <field name="id" type="string" indexed="true" stored="true" required="true" />

   <field name="content" type="text_general" indexed="true" stored="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>

   <dynamicField name="*" type="string"    indexed="true"  stored="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>

<solrQueryParser defaultOperator="AND"/>

<copyField source="*" dest="content"/>

电流输出:

(查询) http://localhost:8983/solr/select/?q=Java+Servlet&version=2.2&start=0&rows=10&indent=on

<response><lst name="responseHeader"><int name="status">0</int><int name="QTime">13</int><lst name="params"><str name="indent">on</str><str name="start">0</str><str name="q">Java Servlet</str><str name="version">2.2</str><str name="rows">10</str></lst></lst>

<result name="response" numFound="1" start="0"><doc><arr name="content_type"><str>application/pdf</str></arr><str name="id">tutorial.pdf</str><str name="subject">Solr</str><arr name="title"><str>Solr tutorial</str></arr></doc></result></response>

我正在寻找的是“找到关键字的提取片段(行)”。

在提供的查询中,我搜索“Java Servlet”,它返回了文档。我对输出 xml 中返回的上下文“Solr 可以在您选择的任何 Java Servlet 容器中运行”感兴趣。

【问题讨论】:

  • 是的,这是可能的。你能发布你到目前为止所拥有的,或者你具体在哪里遇到了麻烦吗?
  • 我不是故意粗鲁,但你必须比这更具体......否则这是“请给我发代码/免费做我的工作”的那种问题,这在stackoverflow上是不受欢迎的。
  • 我用示例更新了问题。我不是在寻找可以为我完成这项工作的人!我正在寻找可以帮助我朝正确方向研究的提示/线索。自从我偶然发现 solr 不到一周。谢谢!

标签: pdf lucene solr full-text-search keyword


【解决方案1】:

要获取匹配关键字周围的文本 sn-ps,请参阅http://wiki.apache.org/solr/HighlightingParameters

要获取索引 PDF 的文件名作为响应的一部分,只需添加一个包含该信息的字段(它应该是一个字符串字段,非索引,存储)。当然,您必须在索引时填充这个新字段。

【讨论】:

    【解决方案2】:

    使用 PDF Box 和 Apache Lucene 的独立解决方案可在以下位置获得: * https://github.com/WolfgangFahl/pdfindexer 它将创建一个 HTML 文件,其中包含指向 PDF 文件中找到关键字的相应页面的链接。

    【讨论】:

      猜你喜欢
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 2010-09-22
      • 1970-01-01
      • 2011-07-16
      • 2011-10-12
      • 1970-01-01
      相关资源
      最近更新 更多