2017-09-26 159 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