我正在使用SolrJ索引POJOs到Solr,並且字符串屬性與數字值正在映射到org.apache.solr.schema.TrieLongField
類型,這反過來導致BindingException
當我嘗試檢索來自Solr的文件。錯誤的Java到Solr類型映射與Schemaless集合
我的課程在註冊人身上注有@Field
,我正在添加文檔client.addBean(object)
。
以下代碼重現此問題:
public class SolrIndexTest {
@Field
public Long longField;
@Field
public String stringField;
public static void main(String[] args) {
//test core created with the following command
//sudo su - solr -c "/opt/solr/bin/solr create -c test -n data_driven_schema_configs"
HttpSolrClient client = new HttpSolrClient.Builder("http://localhost:8983/solr/test").build();
client.setParser(new XMLResponseParser());
SolrIndexTest obj1 = new SolrIndexTest();
obj1.longField = 1L;
obj1.stringField = "1"; // 1st doc: numeric value
SolrIndexTest obj2 = new SolrIndexTest();
obj2.longField = 2L;
obj2.stringField = "Text string"; // 2nd doc: text value
try {
client.addBean(obj1);
client.commit();
} catch (Exception e) {
e.printStackTrace();
}
try {
client.addBean(obj2); // This line will throw a BindingException
client.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
}
嘗試添加到您的Posto一個[最小的完整和可覈查的示例](https://stackoverflow.com/help/mcve)您遇到 – freedev
這個問題你還應該添加schema.xml文件 – freedev
沒有schema.xml,我正在使用託管模式 – otonjr