web-dev-qa-db-ja.com

Apache Solrの文字列フィールドまたはテキストフィールド?

Apache Solrでは、両方が目的を解決する場合、なぜテキストフィールドよりも文字列フィールドを優先する必要があるのですか?

文字列またはテキストは、インデックスサイズ、インデックス読み取り、インデックス作成などのパラメータにどのように影響しますか?

49
Rahul

Solrスキーマで定義されているデフォルトのフィールドは大きく異なります。

Stringは、トークン化などを実行せずにWord/Sentenceを正確な文字列として保存します。ファセットなど、完全一致を保存するのに一般的に役立ちます。

Textは通常、トークン化と2次処理(下位のケースなど)を実行します。文の一部を一致させたいすべてのシナリオに役立ちます。

次のサンプル"This is a sample sentence"が両方のフィールドにインデックス付けされている場合、stringフィールドからヒットを取得するには、テキストThis is a sample sentenceを正確に検索する必要がありますが、sample(またはさらにsamplestextフィールドからヒットを取得するためにステム化が有効になっています)。

101
Johan Sjöberg