Solr 语言检测不适用于 pdf

问题描述

我已将 Solr 7.7.3 配置为检测英语日语文档。 它可以正常处理基于文本的文件,如 docx、xlsx ...但是当我转换为 pdf 时,Solr 无法检测或有时输出错误的语言(我使用 Microsoft Office 2019 将 docx 转换为 pdf)。

我还尝试了以下方法TikaLangDetectOpenNLP 来自此页面 https://lucene.apache.org/solr/guide/7_7/detecting-languages-during-indexing.html

请帮帮我。非常感谢!!!

solrconfig.xml

   <updateRequestProcessorChain name="langid">
     <processor class="org.apache.solr.update.processor.LangDetectLanguageIdentifierUpdateProcessorFactory">
       <str name="langid.fl">_text_</str>
       <str name="langid.langField">language</str>
       <str name="langid.langsField">languages</str>
       <str name="langid.fallback">fr</str>
       <str name="langid.threshold">0.7</str>
       <str name="langid.model">langdetect-183.bin</str>
       <str name="langid.whitelist">en-US,en-GB,en,ja</str>
     </processor>
     <processor class="solr.LogUpdateProcessorFactory" />
     <processor class="solr.RunUpdateProcessorFactory" />
   </updateRequestProcessorChain>
    <requestHandler name="/update/extract"
                    startup="lazy"
                    class="solr.extraction.ExtractingRequestHandler" >
    <lst name="invariants">
      <str name="lowernames">true</str>
      <str name="fmap.Meta">ignored_</str>
      <str name="fmap.content">_text_</str>
      <str name="update.chain">langid</str>
    </lst>
    </requestHandler>

托管架构

  <field name="language" type="string" indexed="true" stored="true"/>
  <field name="languages" type="string" multiValued="true" indexed="true" stored="true"/>

当我尝试使用文件 Test.docx 时记录

2021-01-27 07:25:57.177 调试 (qtp1571967156-58) [x:doc_analyzer] o.a.s.u.p.LanguageIdentifierUpdateProcessor 语言回退到 值 fr 2021-01-27 07:25:57.178 DEBUG (qtp1571967156-58) [
x:doc_analyzer] o.a.s.u.p.LangDetectLanguageIdentifierUpdateProcessor 附加字段 text 2021-01-27 07:25:57.184 DEBUG (qtp1571967156-58) [x:doc_analyzer] o.a.s.u.p.LanguageIdentifierUpdateProcessor 语言检测到 确定 0.9999999780558492 2021-01-27 07:25:57.185 DEBUG (qtp1571967156-58) [x:doc_analyzer] o.a.s.u.p.LanguageIdentifierUpdateProcessor 检测到主文档 来自字段 [text] 的语言:ja 2021-01-27 07:25:57.185 DEBUG (qtp1571967156-58) [x:doc_analyzer] o.a.s.u.p.LogUpdateProcessorFactory PRE_UPDATE 添加{,id=Test.docx,commitWithin=1000} {langid.whitelist=en-US,ja&update.chain=langid&df=text&commitWithin=1000&langid.langField=language&literal.id=Test.docx&fmap.Meta=ignored_&lowernames=true&langid.model =langdetect-183.bin&langid.fallback=fr&langid.threshold=0.7&fmap.content=text&langid.langsField=languages&langid.fl=text&overwrite=true&wt=json}>

当我尝试使用文件 Test.pdf 时记录

2021-01-27 07:30:56.643 DEBUG (qtp1571967156-19) [x:doc_analyzer] o.a.s.u.p.LanguageIdentifierUpdateProcessor 语言回退到价值 fr> 2021-01-27 07:30:56.643 DEBUG (qtp1571967156-19) [ x:doc_analyzer] o.a.s.u.p.LanguageIdentifierUpdateProcessor 在美国检测到的语言确定性> 1.0 2021-01-27 07:30:56.643 DEBUG (qtp1571967156-19) [ x:doc_analyzer] o.a.s.u.p.LanguageIdentifierUpdateProcessor 字段语言已包含值 en-US,未覆盖。 2021-01-27 07:30:56.644 DEBUG (qtp1571967156-19) [x:doc_analyzer] oasuplogUpdateProcessorFactory PRE_UPDATE add{,id=Test.pdf,commitWithin=1000} {langid.whitelist-GB,en-US,ja&update.chain=langid&df=text&commitWithin=1000&langid.langField=language&literal.id=Test.pdf&fmap.Meta=ignored_&lowernames=true&langid.model=langdetect-183.bin&langid.fallback=fr&langid.threshold= 0.7&fmap.content=text&langid.langsField=languages&langid.fl=text&overwrite=true&wt=json}

@Fileshttps://drive.google.com/drive/folders/1igD_XCEGsIm08shLShXJ7IMV4qFscdGh?usp=sharing

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)