solrj:インデックスの複数値フィールドを介してList <POJO>を格納および取得する方法

デビッドビクター:

私の使用例は、オンラインメディアのタイトルを保持するインデックスです。データのプロバイダーは、カテゴリのリストを各タイトルに関連付けます。SolrJを使用して、注釈付きのPOJOクラスを介してインデックスを設定しています

例えば

@Field("title")
private String title;

@Field("categories")
private List<Category> categoryList;

関連するPOJOは

public class Category {
    private Long id;
    private String name;
...

}

私の質問には2つの部分があります。

a)SolrJを介してこれは可能ですか?ドキュメントには文字列のリストを使用した@Fieldの例のみが含まれているため、シリアル化/マーシャリングは単純なタイプのみをサポートしていると思いますか?

b)これを保持するためにスキーマをどのように設定しますか?私は単純に、必要なフィールドでmultiValued = trueを設定する必要があるだけの仮定を持っています。これはすべて魔法で機能します。

私はこれを実装し始めたばかりなので、どんな応答も高く評価されます。

男:

答えはあなたが思ったとおりです:

a)使用できるのは単純なタイプのみです。したがって、同じタイプのリスト(例:String)が作成されます。重要なのは、luceneドキュメント内で複雑な型を表現できないため、それらも逆シリアル化しないことです。

b)問題は、「ドキュメントストア」でリレーショナル思考を表すことです。それはおそらく特定の点でのみ機能します。Luceneドキュメント内のカテゴリを表現する場合は、文字列を使用するだけで、IDを保存する必要もありません。

IDも保存する唯一のポイントは、検索とは別にRDBMSでルックアップを実行する場合です。これを行う場合は、IDとカテゴリ名がソフトリンクされていることを確認する必要があります。これはすべての1:n関係に対して機能しているわけではありません。(n関連テーブルが必須フィールドのみで構成される1:nリレーションはすべて可能です。オプションのフィールドがある場合は、可能であればフィールドに空の定数を埋めるなどのフィールドを配置する必要があります)。

ただし、これらの1:n関係がスパースでない場合、実際にフィールドをドキュメントに追加する順序を維持すると、その可能性は低くなります。したがって、リストを並べ替えない場合は、カテゴリリレーションのケースを表すことができます。

位置0 ... nの値でインスタンス化する場合、このカテゴリを返すメソッドを実装できます。したがって、最初のカテゴリが必要な場合の解決策は、このカテゴリに関連するすべてのリストの位置0になります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Javaの別のクラスでWebElementsを格納および取得する方法-Selenium

分類Dev

TestNGデータプロバイダーの値をPOJOクラスに格納する方法

分類Dev

ストリームを使用して親POJOクラスフィールド値を取得する方法

分類Dev

GOのグローバルスコープにポインター参照を格納および取得する方法

分類Dev

mysqldbに16進値を格納および照会する方法

分類Dev

EFモデルを使用して文字列フィールドから列挙型を格納および取得するシームレスな方法

分類Dev

dictから値を格納および取得するためのよりエレガントな方法は?

分類Dev

Java:C ++のようにメモリアドレスを格納および取得する方法

分類Dev

Javaで大規模なデータセットを格納および取得する最良の方法

分類Dev

ユーザーUIDをFirebaseデータベースに格納し、それをPOJOにマップする方法

分類Dev

POJOおよび複数のテーブルで継承を処理するルームデータベース

分類Dev

型データの画像を格納および取得する方法:画像/ JPEGを、BASE64?

分類Dev

別のアクティビティの Pojo クラスに格納する arraylist を初期化する方法は?

分類Dev

C ++で複雑なオブジェクトを格納および取得する効率的な方法?

分類Dev

キャリッジリターンを格納および取得するSQL

分類Dev

マップの値を使用してpojoのストリームをフィルタリングする

分類Dev

int値をcharとして格納および表現する方法(C#)

分類Dev

Firestoreに格納されるPOJOクラスプロパティを管理する方法はありますか?

分類Dev

application / jsonおよびBeanParamを使用したPOJOのNULLフィールド

分類Dev

for および for-each 反復内に文字列配列を格納する方法

分類Dev

java.security.KeyStoreクラスを使用してキーを格納およびロードする方法

分類Dev

データバインディングAndroidを使用してpojoから親と子の両方のクラスの値にアクセスする方法

分類Dev

Javaを使用してmysqlのbit(2)列から値を格納および取得する

分類Dev

Solrインデックス複数の値を1つのフィールドとして

分類Dev

デフォルトのPOJOコンストラクターなしでPOJOをXMLに変換する

分類Dev

複数の異なるリクエストボディを同じPOJOにマッピングする方法

分類Dev

@JoinTableを使用して、userid、roleid、およびprivilegeidを単一のテーブルに格納する方法

分類Dev

nsuserdefaultsから値を格納および取得しているときに、衝突が発生します

分類Dev

単一および複数のプロパティを持つポリモーフィックPOJOへのJSONのマッピング

Related 関連記事

  1. 1

    Javaの別のクラスでWebElementsを格納および取得する方法-Selenium

  2. 2

    TestNGデータプロバイダーの値をPOJOクラスに格納する方法

  3. 3

    ストリームを使用して親POJOクラスフィールド値を取得する方法

  4. 4

    GOのグローバルスコープにポインター参照を格納および取得する方法

  5. 5

    mysqldbに16進値を格納および照会する方法

  6. 6

    EFモデルを使用して文字列フィールドから列挙型を格納および取得するシームレスな方法

  7. 7

    dictから値を格納および取得するためのよりエレガントな方法は?

  8. 8

    Java:C ++のようにメモリアドレスを格納および取得する方法

  9. 9

    Javaで大規模なデータセットを格納および取得する最良の方法

  10. 10

    ユーザーUIDをFirebaseデータベースに格納し、それをPOJOにマップする方法

  11. 11

    POJOおよび複数のテーブルで継承を処理するルームデータベース

  12. 12

    型データの画像を格納および取得する方法:画像/ JPEGを、BASE64?

  13. 13

    別のアクティビティの Pojo クラスに格納する arraylist を初期化する方法は?

  14. 14

    C ++で複雑なオブジェクトを格納および取得する効率的な方法?

  15. 15

    キャリッジリターンを格納および取得するSQL

  16. 16

    マップの値を使用してpojoのストリームをフィルタリングする

  17. 17

    int値をcharとして格納および表現する方法(C#)

  18. 18

    Firestoreに格納されるPOJOクラスプロパティを管理する方法はありますか?

  19. 19

    application / jsonおよびBeanParamを使用したPOJOのNULLフィールド

  20. 20

    for および for-each 反復内に文字列配列を格納する方法

  21. 21

    java.security.KeyStoreクラスを使用してキーを格納およびロードする方法

  22. 22

    データバインディングAndroidを使用してpojoから親と子の両方のクラスの値にアクセスする方法

  23. 23

    Javaを使用してmysqlのbit(2)列から値を格納および取得する

  24. 24

    Solrインデックス複数の値を1つのフィールドとして

  25. 25

    デフォルトのPOJOコンストラクターなしでPOJOをXMLに変換する

  26. 26

    複数の異なるリクエストボディを同じPOJOにマッピングする方法

  27. 27

    @JoinTableを使用して、userid、roleid、およびprivilegeidを単一のテーブルに格納する方法

  28. 28

    nsuserdefaultsから値を格納および取得しているときに、衝突が発生します

  29. 29

    単一および複数のプロパティを持つポリモーフィックPOJOへのJSONのマッピング

ホットタグ

アーカイブ