Solrでデータベース構造を「複製」するにはどうすればよいですか?
エンティティタイプは 1 つだけですか
? 車や貸衣装などのような?schema.xml
CarとCostumerの構造を宣言するにはどうすればよいですか?
データ型のフィールドtype
があります。string
インデックス時に、値をcar
またはに設定しますcustomer
。したがって、アカツバメを購入したい場合は、次のようにします。
q=red+swifts&fq=type:car
solr スキーマは巨大な (そしてまばらに占有されている) テーブルです。したがって、Dbcar
に 20 列と 12500 エントリの s テーブルとcustomer
、30 列と 12500 エントリのテーブルがある場合、solr コアには 50 フィールドの 25000 エントリが含まれます。はい、Solr のインデックス作成戦略を考えると効率的で、リレーショナル DB よりも高速です。
solr では、両方のエンティティが持つフィールドを維持し、引き続きクエリを実行する場合、両方のエンティティを一緒にインデックス化できます。
ただし、エンティティとの関係を持ちたい場合、Solr は結合機能を提供しますが、これは制限されていますが (最後に確認したように)、関係を照会できます。結合をさらに確認すると、その中に新しい開発が見つかります。
いいえ、できません。Solr は Nosql の一種であり、RDBMS とは異なります。RDBMS では、テーブルはリレーションシップにあり、結合アクションを実行してそれらを結合したり、ビューからデータを取得したりできます。しかし、solr では、join アクションをまったく実行できません。1 つの solr クエリは 1 つのコアでのみ実行できます。したがって、単純に RDBMS から構造を複製することはできず、solr 用にスキーマを再設計する必要があります。