apache Solrなぜ両方とも目的を解決すれば、テキストフィールドよりも文字フィールドを優先する必要があるのはなぜですか?Apache Solr文字列フィールドまたはテキストフィールド?
文字列やテキストがインデックスサイズ、インデックス読込、インデックス作成などのパラメータにどのように影響しますか?
apache Solrなぜ両方とも目的を解決すれば、テキストフィールドよりも文字フィールドを優先する必要があるのはなぜですか?Apache Solr文字列フィールドまたはテキストフィールド?
文字列やテキストがインデックスサイズ、インデックス読込、インデックス作成などのパラメータにどのように影響しますか?
solrスキーマで定義されているデフォルトのフィールドは、大きく異なります。
String
は、トークン化などを行わずに正確な文字列として単語/文章を格納します。たとえば、ファセットなどの完全一致を格納するのに一般的に便利です。
Text
は、通常、トークン化と2次処理(下部ケーシングなど)を実行します。文の一部と一致させたい場合のすべてのシナリオに役立ちます。
次のサンプル、"This is a sample sentence"
は、に我々はそれがsample
(あるいはsamples
有効stemmning付き)を検索するために十分でありながら、string
フィールドからヒットを取得するために、正確にテキストThis is a sample sentence
を検索する必要があり、両方のフィールドにインデックスされている場合text
フィールドからヒットを得る。
インデックスサイズ、インデックスの読み取り、インデックスの作成についてもコメントできますか? – Rahul
トークン化する際には、より大きなインデックスサイズが得られます。さらに多くの作業があるため、インデックスの作成はわずかに遅くなります。どちらの方法でもインデックスの読み込み/作成は素晴らしいので、何百万ものドキュメントに近づいていなければ心配しないでください。 –
私は何百万ものドキュメントを読んでいます。それは問題ではないと思っています。文字列フィールドに向いています。なぜなら、すべてのケースで効率的と思われ、トークナイザ/全文検索 – Rahul