2011-02-10 3 views
0

誰もがsolr 1.4でカスタムフィールドを作成する方法を知っていますか?私は、同じタイプのサブ値、例えば3つの文字列を含むフィールドを作成する必要があります。Solr 1.4のサブフィールドを持つカスタムフィールド

問題は次のようなものです:私は、スキーマに "パス"、 "タイトル"、 "thumb_path"のような3つのサブフィールド(文字列)を持つ "イメージ"フィールドを宣言したいと仮定します。

アイデア?

私はsolr 1.5で、緯度と経度の2つの値-doublesを含むLatLonオブジェクトのコンセプトがおそらく存在することを知っています。そんなことを見たことがありますか?

あなたのSOLRインデックスで「画像」のドキュメントのインデックスを作成することを検討すべきであるように、ルカ

+0

3つのフィールドを使用しないのはなぜですか?なぜmultiValuedフィールドを使用しないのですか? –

+0

+1とMauricioは言った。 SOLRはリレーショナルDBではなく、noSQLデータベースに似ていますので、単一のフラット/デノーマライズされたテーブルのように考える必要があります。 – nickdos

+0

こんにちはみんな、答えに感謝します。実際、問題は、この操作を複数値フィールドで行う必要があるということです。たとえば、ギャラリーを構築するために情報をインデックスに登録したいとします。ギャラリーは多くの画像で行われ、すべての画像には3つの異なる情報(パス、サムパス、タイトル)があります。私は1つのギャラリーが持つことができるイメージの数を知ることができません、そして、私は限界を設定したくありません(ギャラリーごとに最大10イメージ)。 – lucke84

答えて

2

が鳴ります。

各画像 "DOC" がフィールドを有するであろう:

  • 表題
  • パス
  • thumb_path [ギャラリー] [ギャラリー]多値ある

フィールド(複数のギャラリーに画像を表示できると仮定)

ギャラリーページを作成するには、クエリ「gallery:foo」を実行してから、画像のリストを繰り返して、タイトル、パスなどのHTMLエレメントを入力します。

注:SOLRでは、索引に単一の文書タイプを持つこと(ベストプラクティスが別の問題であるかどうか)したがって、他の非画像文書も索引付けすることができます。この場合、 "doc_type"のようなフィールドを持つことをお勧めします。そのタイプの検索を制限することができます

+0

あなたが私に示唆している解決策は、たとえ私が別のギャラリーで画像を共有する本当の可能性を持っていなくても面白いようです。私があまり好きではない唯一のことは、格納された要素のサイズに一種の重複を持たせることです(私の場合はギャラリーがもっと複​​雑なオブジェクトの一部にすぎないと想像してください)。ところで、ありがとう。 – lucke84

+0

私が正しく理解していれば、あなたが参照する複製は、SOLRがとるNoSQLのようなアプローチのやむを得ない結果です。利点はスケーラビリティです(データが100倍になってもサブ秒の応答時間、参照されないデータ(および "結合"フィールドの重複の可能性があります)のコストがかかります。 このデータをSOLR (関連性ランキング、ステミング、ファセット、タームブースティング)、代わりにリレーショナルDBにギャラリー/画像ルックアップを保存するスケーラビリティが問題ではない場合でも意味をなさないかもしれません。 – nickdos

関連する問題