Solr for Arabic

时间:2011-10-20 10:13:46

标签: search solr arabic

我正在使用Solr索引3个语言(阿拉伯语,法语和英语)中的文档,我使用了这个fieldType:

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
    <analyzer type="query">
      <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/> 
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
</fieldType>

一切都很好,但是当我把这个请求用来搜索像حقل这样的单词时,用阿拉伯语来说,Solr找不到这个单词,但当我把这个单词放在左边的لقح对面时对Solr找到单词并返回结果。

我可以得到阿拉伯语单词的结果吗?

1 个答案:

答案 0 :(得分:5)

我将把丹尼尔的聪明分析转变为记录的答案。不要为此投票,只需去寻找他投票的东西: - )

有两种方法可以使方向性与RTL文本不匹配。您可以向后索引它,或者您可以向后查询它。查询Solr的简单HTML表单永远不会弄乱方向性。在这种护理中,khaled正在使用一个PDF文件从PDF中提取文本,该文件库成为PDF文件包含“视觉顺序”文本而不是“逻辑顺序”的倾向的受害者。因此索引充满了向后的阿拉伯语。要解决这个问题,他必须提出一个可以从pdfs中提取文本的工作库。

强制Apache Tika使用最新的Apache PDFbox可能有所帮助,或者他的PDF可能如此古怪,即使最新的PDFBox也无法处理它。在这种情况下,他有一个难题。