Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Solr:支持希腊语的音译/转录_Java_Solr_Lucene - Fatal编程技术网

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

Java Solr:支持希腊语的音译/转录,java,solr,lucene,Java,Solr,Lucene,我为一些包含希腊字母的字段编制了索引(例如∑τεφαν)。就像在谷歌一样,我想在搜索Stefan时找到这些文档。是否支持希腊语单词的音译/转录 到目前为止,我已经尝试了solr.ASCIIFoldingFilterFactory和solr.ICUFoldingFilterFactory。这两种语言似乎都适用于法语(搜索Stephane也返回Stéphane)或波兰语(搜索Wroclaw也返回Wrocław)。但它似乎对希腊语不起作用(搜索时,∑τεφαν不会返回Stefan) 有关如何执行此操作

我为一些包含希腊字母的字段编制了索引(例如
∑τεφαν
)。就像在谷歌一样,我想在搜索
Stefan
时找到这些文档。是否支持希腊语单词的音译/转录

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


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

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

伪代码:

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

     return matchingLetter(lowercase(w.name),

并将此属性添加到索引中

也许有点老套,但转换希腊语单词的逻辑应该不难

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

我认为这是/a方法

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

伪代码:

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

     return matchingLetter(lowercase(w.name),

并将此属性添加到索引中

也许有点老套,但转换希腊语单词的逻辑应该不难

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

我认为这是一种方法,你可以通过添加

到你的字段类型

有关此类特定语言的更多信息,请参见


您可以通过添加

到你的字段类型

有关此类特定语言的更多信息,请参见


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

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

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

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


您在solr web界面中分析了相同的字段吗?您在solr web界面中分析了相同的字段吗?不幸的是,添加
solr.GreekStemFilterFactory
并没有解决问题。您可以共享您的字段类型吗?字段类型如下所示:
您可以为您的字段I尝试此字段吗我尝试过你的建议,但通过搜索
firstName:∑τεφαν和lastName:Miller
我没有找到firstName:Stefan和lastName:Miller的人。不幸的是,添加
solr.GreekStemFilterFactory
并没有解决问题。你能共享你的字段类型吗?字段类型如下:
你能在你的领域试试这个吗?我试过你的建议,但通过搜索
名字:∑τεφαν和名字:米勒
我没有找到名字:Stefan和名字:Miller的人。这可以用来开发一个特殊的“GreekFoldingFilter”。这可以用来开发一个特殊的“GreekFoldingFilter”“GreekFoldingFilter”。