首页 > 解决方案 > Solr 中的语言检测

问题描述

我有一些不同语言的文档,我让 Solr 检测它们的语言并为它们编制索引,所以我添加了以下配置solrconfig.xml

 <updateRequestProcessorChain name="langid">
   <processor class="org.apache.solr.update.processor.TikaLanguageIdentifierUpdateProcessorFactory">
     <str name="langid.fl">text,title,subject,description,content</str>
     <str name="langid.langField">language_s</str>
     <str name="langid.overwrite">true</str>
     <str name="langid.map">true</str>
     <str name="langid.map.individual">true</str>

     <str name="langid.fallback">en</str>

   </processor>
   <processor class="solr.LogUpdateProcessorFactory" />
   <processor class="solr.RunUpdateProcessorFactory" />
 </updateRequestProcessorChain>

我想在 , 旁边的字段中查看检测到的语言,一旦id我向Solr发送一般查询, 。以下是我得到的结果示例:contentcontent_type__version__*:*

{
  "responseHeader":{
    "zkConnected":true,
    "status":0,
    "QTime":29,
    "params":{
      "q":"*:*",
      "_":"1533230772660"}},
  "response":{"numFound":18,"start":0,"maxScore":1.0,"docs":[
      {
        "id":"/ifs/language/Gre2",
        "content_type":["text/plain; charset=UTF-8"],
        "content":[" \n \n  \n  \n  \n  \n  \n  \n  \n \n  Η ελληνική γλώσσα έχει επηρεάσει σημαντικά τις άλλες γλώσσες, τόσο στην πολιτική, όσο και στους επιστημονικούς όρους, στις τέχνες, στη φιλοσοφία, στο θέατρο και γενικά σε τομείς στους οποίους είχε προηγηθεί κοινωνικά και, κατά συνέπεια, γλωσσολογικά. Υπήρξε για μεγάλο διάστημα η lingua franca της ανατολικής και δυτικής Μεσογείου και τα πρώτα χριστιανικά κείμενα γράφτηκαν σε αυτήν. Οι Λατίνοι επηρεάστηκαν βαθύτατα από τα ελληνικά που ήταν πλουσιότερη γλώσσα τότε και έτσι πολλά ελληνικά στοιχεία εντάχθηκαν σχεδόν αυτούσια στα λατινικά, από τα οποία εν συνεχεία εντάχθηκαν και σε άλλες συγγενείς προς τα λατινικά γλώσσες. Με την σειρά τους τα ελληνικά επηρεάστηκαν κι αυτά από την γλώσσα λαών που κατέκτησαν την χώρα είτε με πολέμους είτε οικονομικά, με αποτέλεσμα στην διάρκεια των αιώνων να μπουν στο ελληνικό λεξιλόγιο λατινικές λέξεις, ενετικές και τουρκικές.\n \n  "],
        "_version_":1607701684376567808},
      {
        "id":"/ifs/language/Ger1",
        "content_type":["text/plain; charset=UTF-8"],
        "content":[" \n \n  \n  \n  \n  \n  \n  \n  \n \n  Eine parallele Bildung ist schon im gotischen Adverb þiudiskō belegt, mit dem der griechische Ausdruck ethnikṓs, heidnisch‘ übersetzt wurde. Später wurde auch das altenglische þēodisc in gleicher Weise für lat. gentīlis ,heidnisch‘ verwendet. In seiner lateinischen Form „theodisce“ findet man das Wort erstmals in einem Synodenbericht des päpstlichen Nuntius Gregor von Ostia aus dem Jahre 786. Dieser Bericht über zwei Synoden, die in England stattfanden, wurde sowohl auf Lateinisch als auch in der Sprache des Volkes verlesen. Aus dem Kontext geht hervor, dass hier die altenglische Sprache im Gegensatz zu dem vom Klerus verwendeten Latein gemeint war. Nur zwei Jahre jünger ist der erste Beleg aus dem kontinental-germanischen Sprachgebiet, als in einer Anklage gegen den baierischen Herzog Tassilo auf dem Reichstag zu Ingelheim eine germanische Übersetzung für dessen „Fahnenflucht“ genannt wurde: „quod theodisca lingua harisliz dicitur“.\n \n  "],
        "_version_":1607701684751958016},

我是否遗漏了language_s在显示的字段中看不到字段的内容?

标签: solrmultilinguallanguage-detection

解决方案


推荐阅读