2017-09-26 161 views
0

我知道有关于SOLR的类似问题,有些提供了见解,但没有提供解决方案来表示我正在尝试做什么。SOLR索引每种语言/多种语言的SQL数据

我想创建一个具有多语言数据的核心。 例如,有可能有像description_fr,description_en。我想发送描述fr当请求whant数据在法国和不发送description_en。

我的一些问题:

  1. 如何定义的数据进行索引
  2. 我如何告诉应用程序请求对英国或领域的法语版本的搜索?

非常感谢

+0

你是如何索引数据 - 你尝试过什么?你看过[检索期间检测语言](https://lucene.apache.org/solr/guide/6_6/detecting-languages-during-indexing.html)吗? – MatsLindh

+0

是的,我通过DIH索引我的数据。每行我有一个具有两种语言的数据。例如,我有一行包含以下列 - ID,NAME,DESCRIPTION_FR,DESCRIPTION_EN。如果语言为EN,并且在这种情况下不发送DESCRIPTION_EN,我想根据其语言(ID,名称,DESCRIPTION_EN)向用户发送所有列。我看到了检测语言,但我不清楚如何使用,以及这是我应该做什么。我必须尝试 – Vicking

+0

现在查找LangDetectLanguageIdentifierUpdateProcessorFactory我不确定是否可以使用它,因为langid.langField需要一个字段进行检测,而我的行包含这两种语言。你知道我是否可以使用它吗? – Vicking

回答

0

我将在柏林的最新流行词汇建议从我的一个朋友谈话[1]

这可能对未来是有趣的你。

坚持你目前的问题我会继续确定查询的语言(这是一个艰巨的任务,因为查询通常由几个术语组成)。 然后,根据我将发送给Solr的语言,请求仅返回内容的一个存储字段。

例如

在索引我:

description_it,description_en

Q = “prodotto scalare” 语言鉴定:它

请求:http://localhost:8983/solr/select?q=prodotto scalare & FL = description_it

你只需要一个库来检测语言[2]以及语言ISO代码和你的solr字段之间的映射。 您可以在API时间或直接在Solr中将其作为插件来构建。

[1] https://berlinbuzzwords.de/sites/berlinbuzzwords.de/files/media/documents/embracing_diversity_searching_over_multiple_languages.pdf

[2] 一对夫妇的最典型的例子:(?通过DIH) 提卡 - - https://www.programcreek.com/java-api-examples/index.php?api=org.apache.tika.language.LanguageIdentifier 谷歌https://github.com/shuyo/language-detection

+0

谢谢,介绍很有趣。实际上,对于我的数据,我需要返回与该语言相对应的列,以便将调用API限制为不指定要返回的列。 API通过一些通用于所有语言的单词发送搜索,并接收有关此密钥的所有数据,但其他字段是语言特定的。 – Vicking