Solr:支持希腊语的音译/转录

时间:2015-08-06 08:53:51

标签: java solr lucene

我已将一些包含希腊字母的字段编入索引(例如Στεφαν)。就像谷歌一样,我想在搜索Stefan时找到这些文档。对希腊词的音译/转录是否有任何支持?

到目前为止,我已经尝试了solr.ASCIIFoldingFilterFactorysolr.ICUFoldingFilterFactory。两者似乎都适用于法语等语言(搜索Stephane也返回Stéphane)或波兰语(搜索Wroclaw也返回Wrocław)。但它似乎不适用于希腊语(搜索Στεφαν不会返回Stefan)。

有关如何执行此操作的任何提示?

3 个答案:

答案 0 :(得分:1)

您可以尝试使用字符过滤器并将具有特定字符的文件映射到其ascii等效字符。

<charFilter class="solr.MappingCharFilterFactory" mapping="greek_character.txt"/>

答案 1 :(得分:0)

你的索引对象可能有一个getter函数,返回一个可搜索的单词

伪代码:

public function returnIndexName(w){
   if(w.isGreek){

     return matchingLetter(lowercase(w.name),

enter image description here

     )
   }

}

http://www.typegreek.com/alphabet.key/

并将此属性添加到索引

也许有点hacky,但转换希腊词的逻辑不应该是困难的

for letter in word, returnword += alphabetkeys[letter]

我认为这是/一种方式

答案 2 :(得分:-1)

您可以尝试添加<filter class="solr.GreekStemFilterFactory"/>

到你的fieldType。

有关更具体的语言,您可以查看

https://wiki.apache.org/solr/LanguageAnalysis#Greek