0

大量の言語をサポートするために使用できるように、現在の Apache Solr (4.x) を拡張するソリューションを探しています。私はマルチコアアプローチを採用したいと考えており、英語のコアと日本語のコア (初心者向け) を持つように solr をセットアップしました。物事に挑戦するために、solrがインデックスに使用するデータを含むn個の.xmlファイルが与えられます。明確にするために:

n 個の言語があり、n 個の .xml ファイルがあります (言語ごとに 1 つの .xml)。各 .xml ファイルは、マークアップに関して同一であり、生のテキストのみが異なります。

私の問題は、english.xml ファイルを英語のコアに厳密に投稿し、japanese.xml ファイルを日本語のコアに厳密に投稿する方法がわからないことです。そのため、次のページにアクセスすると:

www.example.com/ us /index.html で、english.xml のインデックス付きの結果を見ています。

www.example.com/jp/index.htmlは、 japanese.xmlの索引付けされた結果を提供します。

異なる言語の .xml ファイルはタグごとに同じように構造化されているため、スキーマは 1 つだけで十分ですが、各スキーマ ファイルはそれぞれの言語に合わせて最適化されるため、すべて複製しました。

もし (TLDR) {

How would I independently post:
english.xml -> core-english
japanese.xml -> core-japanese


Or what would be a better approach that gives me
facet and search independent groups so that I can localize my pages?

}

明らかに、solr の n 個の異なるインスタンスを実行したくありません。

4

1 に答える 1

1

ベンジャミン、あなたのアプローチは完璧です。マルチコアはそれを行うのに最適な方法です。

サーバーが にIP 10.10.10.10あり、solr がポート 8983 で実行されているとすると、マルチコアは次のようになります。

10.10.10.10:8983/solr/us

10.10.10.10:8983/solr/jp

10.10.10.10:8983/solr/fr

...等々

注意すべき点がいくつかあります。

  • 各コアには独自の conf フォルダーがあります
  • 各 conf フォルダー内には、solrconfig.xml、schema.xml、synonyms.txt、およびその国に固有のその他の構成ファイルがあります。
  • フィールド定義は国ごとに異なり、その schema.xml で指定されます
  • 例: タイトル フィールドは、米国の場合は fieldType text_general、フランスの場合は text_fr になります。

XML の投稿

これは、さまざまな国のさまざまな XML ファイルのコンテンツを投稿する方法です。

私たち:

curl http://10.10.10.10:8983/solr/us/update?commit=true -H "Content-Type: text/xml" --data-binary '<add><doc><field name="id">1</field><field name="title">First Item</field></doc><doc><field name="id">2</field><field name="title">Second Item</field></doc></add>'

フランス:

curl http://10.10.10.10:8983/solr/fr/update?commit=true -H "Content-Type: text/xml" --data-binary '<add><doc><field name="id">1</field><field name="title">premier article</field></doc><doc><field name="id">2</field><field name="title">deuxième article</field></doc></add>'

JP:

curl http://10.10.10.10:8983/solr/jp/update?commit=true -H "Content-Type: text/xml" --data-binary '<add><doc><field name="id">1</field><field name="title">最初の項目</field></doc><doc><field name="id">2</field><field name="title">番目の項目&lt;/field></doc></add>'

検索中

コアを照会するだけで、各国を個別に検索できます。

米国の検索クエリ:

http://10.10.10.10:8983/solr/us/select?query=john

JPの検索クエリ:

http://10.10.10.10:8983/solr/jp/select?query=ジョン
于 2013-07-17T23:24:24.270 に答える