5

私は、ユーザーがさまざまな国にいて、テキストコンテンツを投稿できるWebサイトの検索エンジンを構築しています。

私はそれを考慮します:-フランス語はフランス語と英語でコンテンツを生成します-ドイツ語はドイツ語と英語などでコンテンツを生成します...

異なるスノーボールステマー言語を同時に使用して検索できるかどうかを知りたいので、同時に適切な結果を得ることができます。

スノーボールステマー言語ごとに1つのインデックスを作成する必要がありますか?

そのような場合の既知のパターンはありますか?

ありがとう

4

5 に答える 5

2

非常に簡単な免責事項です。私はステミング/言語形態の専門家ではありませんが、他の誰も応答していないので、ここに私の理解があります。また、私の経験のほとんどはsolrの方針に沿っています。

単一の混合結果セットを使用して複数の言語に対してステミングを使用してクエリを実行できるようにするには、多言語ステマーを使用する必要があります。elastisearchで何が利用できるかわかりません。

単一の言語用に設計された複数のステマーを単一のインデックスに適用しようとすると、お互いの足を踏み入れ、期待される結果が得られない可能性があります(ステミングルールは言語によって大幅に異なります)。

それぞれのステマーを使用して言語ごとにインデックスを作成すると、単一言語の結果を使用するクエリで機能します。複数のインデックスに対して複数のクエリの結果を結合しようとすると、通常はかなり問題があります(関連性を正規化し、ページングを処理する必要があります)。

于 2012-06-15T18:42:06.720 に答える
2

2つの個別のインデックスを作成し、両方(またはすべて)を同時に検索できます。インデックスのフィールドが同じである限り、有効な結果が得られます。

于 2012-06-22T21:44:10.167 に答える
2

今年の初めに、elasticsearchチームのKiju Kimが、elastic.coブログで複数の言語を操作する方法に関するいくつかの優れた記事を公開しました。

基本的に、コンテンツに複数のフィールドを使用できます(サポートする言語ごとに1つ(パート2))。それぞれが言語固有のアナライザーを使用します(パート1)。(パート3)は、取り込みパイプラインを使用するすべてのフィールドではなく、言語検出を使用して正しい言語フィールドに入力するための最適化を追加します(言語検出に取り込みプラグインを使用)。

于 2018-12-23T15:17:51.597 に答える
1

この新しいElasticSearchプラグインは正常に機能します。

https://github.com/yakaz/elasticsearch-analysis-combo

于 2012-08-09T21:15:55.487 に答える
0

ステマーを組み合わせることができます。対立があり、秩序が重要になると思います。それがどれほど大きな問題なのだろうか。

"settings": {
    "index": {
        "analysis": {
            "filter": {
                "german_stemmer": {
                    "type": "stemmer",
                    "name": "light_german"
                },
                "english_stemmer": {
                    "type": "stemmer",
                    "name": "english"
                },
                "french_stemmer": {
                    "type": "stemmer",
                    "name": "light_french"
                },
                "italian_stemmer": {
                    "type": "stemmer",
                    "name": "light_italian"
                }
            }
            "analyzer": {
                "asdfghjkl": {
                    "tokenizer": "standard",
                    "filter": [
                        "english_stemmer",
                        "italian_stemmer",
                        "french_stemmer",
                        "german_stemmer"
                    ]
                }
            }
        }
    }
}
于 2019-11-28T04:57:30.507 に答える