solrJ 6.6でsolr 6.6を使用しています。私はGsonを使ってjsonオブジェクトで読み込んでいるコードをいくつか持っており、オブジェクトをインデックスできるようにSolrJの注釈があります。私はGsonとSolrJの組み合わせで何か問題を抱えていますが、正確に何がわかりません。動的フィールドは、間違ったフィールド名がsolrにインデックスされてしまうことになります
私の問題は、フィールドの1つがダイナミックフィールドで、SolrJがダイナミックフィールド用に作成するregex値の一部で索引付けされることです。
私が希望したいのは、次のjsonを "id"と "spell_text_en-us"フィールドでsolrに索引付けすることです。
{"id":"abc123", "spell_text_en-us":"abc123"}
代わりに、solrは "id"と "spell_text _。*"フィールドで終わります。ここで
は、スキーマの抜粋です:Solrのクエリによって返される。ここ
<dynamicField name="spell_text_*" type="spell" indexed="true" stored="true"/>
は、Solrの文書の例である:ここで
{
"id": "70427-7534088-de",
"spell_text_.*": "Getoasteter",
"_version_": 1578390437688770600
}
は、私は「クラスのストリップダウンバージョンです。メートル使用:
public class ExampleDoc {
@SerializedName("id")
@Field("id")
public String id;
@SerializedName(value="spell_text_en-us",
alternate={
"spell_text_de",
"spell_text_fr"
}
}
@Field("spell_text_*")
public String spellText;
}
私の仮定は、私がspellTextフィールドが正しく宣言したことで、そのIトンは、このように宣言する必要があります。
@SerializedName(value="spell_text_en-us",
alternate={
"spell_text_de",
"spell_text_fr"
}
}
@Field("spell_text_*")
public Map<String, String> spellText;
しかし、私は地図としてフィールドを宣言した場合、その後GsonパーサがExampleDocにJSONをデシリアライズすることができません。
提案がありますか?
ありがとうございました! リー