それは述べて:
Dgidxは、索引付け時に、その単純なASCII同等にマッピングLatin1の、ラテン拡張A、およびWindows CP1252国際文字をサポートしています。
これは、これらの文字セットに該当しないため、ギリシャ語はサポートされていないことを示しています(ギリシャ語はLatin-7と思われます)。つまり、各言語に独自のレコードがあると仮定して、またはdgidx
とdgraph
パラメータを使用してグローバル言語を実装しようとすると、レコードレベルで言語フラグを設定することができます(ただし、データに英語とギリシャ語の両方が含まれていることを示します)。グローバル言語ではないレコードやプロパティのステミングなどに影響します。
dgidx --lang el
dgraph --lang el
元の文に基づいて動作するかどうかはわかりませんが、
また、あなたはatg.repository.search.indexing.PropertyAccessorImpl
クラス(オプションあなたはNucleus
を参照しているので、私はあなたがATG/Oracleのコマースを使用していると仮定)を拡張するカスタムAccessor
を、使用して分音除去のプロセスを実装することができます。これを使用して、現在のインデックスの検索可能なフィールドを複製するが、すべての発音区別記号が削除された、インデックス内の正規化された検索可能フィールドを指定します。 Accessor
で適用したのと同じロジックを検索条件にプリプロセッサとして適用する必要があります。これにより、入力を正規化してインデックス値と一致させることができます。最後に、索引の元のフィールド(強調表示された文字を含む)を表示専用にし、正規化フィールドを検索可能にします(表示しません)。
結果は正規化テキストと一致しますが、インデックスが大きくなるようにデータが重複しているという欠点があります。小さなデータセットでは大きな問題ではありません。また、ステミングのようなOOTBの機能が正規化されたデータセットでどのように動作するかにも影響があります。精度とリコールが悪影響を受けるかどうかを確認するには、ギリシャ語と英語のさまざまなシナリオでいくつかのテストを行う必要があります。
こんにちはRadimpe。ご回答有難うございます。ギリシャ語のoobはOLTですが、先読みとワイルドカードが必要なので、Latin-1を使用します。 –
この場合、インデックスの入力データを正規化し、それを先行入力に渡す前にオンザフライで正規化すると、肯定的な結果が得られる可能性があります。 – radimpe
先送り用のフォームハンドラーでは、発音区別符号のいずれかを字下げし、ProductCatalogIndexingAdminにサービスを追加してEndecaデータにも同様の処理を行いました。魅力のように動作します。 – bated