【问题标题】:getting text of an html file from tika parser in solr从 solr 中的 tika 解析器获取 html 文件的文本
【发布时间】:2017-05-13 04:37:23
【问题描述】:

我正在尝试使用 Solr 6 自动索引 html 文件。solrconfig.xml 文件如下所示:

<requestHandler name="/update/extract"
              startup="lazy"
              class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
  <str name="lowernames">true</str>
  <str name="fmap.meta">ignored_</str>
  <str name="fmap.content">_text_</str>
</lst>
</requestHandler>

这是默认配置。我不明白 Tika 如何生成 fmap.content 字段。

例如命令./bin/post -c myexample -params "extractOnly=true&amp;wt=ruby&amp;indent=yes" -out yes docs/SYSTEM_REQUIREMENTS.html的输出

产生以下输出:

{
  'responseHeader'=>{
    'status'=>0,
    'QTime'=>12},
  ''=>'<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
name="stream_size" content="869"/>
<meta name="X-Parsed-By"
            content="org.apache.tika.parser.DefaultParser"/>
<meta
name="X-Parsed-By"
            content="org.apache.tika.parser.html.HtmlParser"/>
<meta
name="stream_content_type" content="text/html"/>
<meta name="dc:title"
            content="System Requirements"/>
<meta
name="Content-Encoding" content="UTF-8"/>
<meta name="Content-Type-Hint"
            content="text/html; charset=UTF-8"/>
<meta
name="resourceName"
            content="/home/szr163/search441/indexer/solr-6.3.0/docs/SYSTEM_REQUIREMENTS.html"/>
<meta
name="Content-Type"
                content="text/html; charset=UTF-8"/>
<title>System Requirements</title>
</head>
<body>
<h1>System Requirements</h1>

<p>Apache Solr runs on Java 8 or greater.</p>

<p>It is also recommended to always use the latest update version of your Java VM, because bugs may affect Solr. An overview of known JVM bugs can be found on <a
                shape="rect" href="http://wiki.apache.org/lucene-java/JavaBugs">http://wiki.apache.org/lucene-java/JavaBugs</a>
</p>

<p>With all Java versions it is strongly recommended to not use experimental <code>-XX</code> JVM options.</p>

<p>CPU, disk and memory requirements are based on the many choices made in implementing Solr (document size, number of documents, and number of hits retrieved to name a few). The benchmarks page has some information related to performance on particular platforms. </p>

</body>
</html>
',
  'null_metadata'=>[
    'stream_size',['869'],
    'X-Parsed-By',['org.apache.tika.parser.DefaultParser',
      'org.apache.tika.parser.html.HtmlParser'],
    'stream_content_type',['text/html'],
    'dc:title',['System Requirements'],
    'Content-Encoding',['UTF-8'],
    'Content-Type-Hint',['text/html; charset=UTF-8'],
    'resourceName',['/home/szr163/search441/indexer/solr-6.3.0/docs/SYSTEM_REQUIREMENTS.html'],
    'title',['System Requirements'],
    'Content-Type',['text/html; charset=UTF-8']]}

&lt;meta name="stream_size" &gt; 是一个标签,将被 Solr 解释为字段 stream_size 并且该标签的 content 将被视为值?为什么 html 中的文本不在任何此类标记中?

【问题讨论】:

    标签: html solr apache-tika


    【解决方案1】:

    示例 techproducts 配置集包括

    '一个 copyField 指令,使所有内容都在预定义的“catch-all”text 字段中编制索引,以启用包含所有字段内容的单字段搜索。'

    也许您可以将您的配置与 techproducts 的配置进行比较,并更好地理解它。否则,您将需要显示更多配置。

    https://cwiki.apache.org/confluence/display/solr/Schemaless+Mode

    是的,显然你会得到一个名为 stream_size 的 Solr 字段,其值为 869。但正如你所拥有的那样,你有 'extract_only',它只是解析文件而不是索引它。

    【讨论】:

      猜你喜欢
      • 2018-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多