2

Solr は初めてで、Solrj pojo を使用してドキュメントを作成しようとしています。

Pojo で遵守すべき Solr 型から Java へのマッピングはありますか? pojo のすべてが文字列ですか? Javaの基本型からSolrへの魔法のマッピングはありますか?それは透過的ですか?

これは基本的な質問のようですが、答えが見つかりません。

ティア。

4

3 に答える 3

2

@Fieldのアノテーションを使用して、pojo を solr タイプにマップできます。solrj

以下はサンプルコードです

import org.apache.solr.client.solrj.beans.Field;

public class Person {

    @Field
    private int id;

    @Field("first_name")
    private String firstName;

    @Field("last_name")
    private String lastName;

    @Field
    private String age;

    // Getters & setters


}

schema.xmlフィールドが含まれている必要がありますid, first_name, last_name, age

于 2012-10-10T20:57:48.233 に答える
1

この質問に対する答えは、Solrj Bean (@Field を使用) の場合、フィールドの Java タイプは、solr.*Field タイプに対応するJava OBJECTであると思われます。

たとえば、solr.BoolField は java.lang.Boolean にマップされます。

Long、Integer、Float などについても同様です。

これが次の貧しい魂に役立つことを願っています:-)

于 2012-10-17T15:53:17.603 に答える
0

Solrj は、RequestWriter を使用してドキュメントを XML またはバイナリとしてストリーミングできます。document.addField メソッドはオブジェクトを取るので、Java データ型を渡すことは問題ありませんが、マッピングは見たことがありません。存在する場合は、おそらく基本的なデータ型を想定しています。サンプルコードを見るとそうです。

私の記憶が正しければ (これは少し前のことです)、日付に問題があり、独自のフォーマッターを作成しました。これは Solr 1.2 の頃のもので、そのコードは正常に機能し、現在も運用中です

http://lucene.apache.org/solr/api-4_0_0-BETA/org/apache/solr/common/SolrInputDocument.html

InputType の JavaDoc は次のとおりです。http://lucene.apache.org/solr/api-4_0_0-BETA/org/apache/solr/common/SolrInputField.html

于 2012-10-10T21:05:26.757 に答える