使用非英语语言搜索/索引问题

时间:2016-08-19 17:24:19

标签: java pdf utf-8 solr

我试图在solr中索引PDF文件,但在将文本转换为UTF-8字符时看起来正在变化。

例如下面突出显示的文字:

demo

转换为:

demo

搜索适用于以后的关键字而不是原始字词。据我所知,在索引之前将PDF文本转换为UTF-8时会发生这种情况。

以下参考是索引编码:

String solrUrlString = "http://localhost:8983/solr/example";
    SolrClient solr = new HttpSolrClient(solrUrlString);

    ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract");

    up.addFile(new File(filepage.getabsPath()), "application/pdf");

    up.setParam("literal.id", filepage.getId());
    up.setParam("uprefix", "attr_");
    up.setParam("fmap.content", "attr_content");

    up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);
    solr.request(up);

1 个答案:

答案 0 :(得分:0)

我认为你试图索引的文本内容的语言是印度方言之一的古吉拉特语。 Solr确实为各种语言提供语言分析,但我担心在印度语言方面,它只限于印地语。对于印地语,它提供以下Analyzer类类:solr.IndicNormalizationFilterFactory,solr.HindiNormalizationFilterFactory,solr.HindiStemFilterFactory。我在文档中看不到Gujarati的那个。您可以在此处查看Solr的语言分析部分https://cwiki.apache.org/confluence/display/solr/Language+Analysis。因此,虽然古吉拉特语是问题中的语言,但我认为分析将是模糊的,模糊的和不相容的。如果你发现更好的东西,请告诉我。希望这有助于:)。