目前,我在 Solr 4.1 与 Lucene 4.1 结合时遇到以下问题。
我有一个像这样的 Solr-Bean:
import org.apache.solr.client.solrj.beans.Field;
public final class Bean {
@Field
private int someInt;
@Field
private String someString;
//Fields like this are just being updated for easier use of the bean
private List<Integer> someStringSplitIntoIntegers
//setters, rest is the same:
public void setSomeInt(int someInt) {
this.someInt = someInt;
}
//getters straightforward...
}
现在我想通过 HttpSolrServer.addBean(bean) 将 bean 添加到 Solr 数据库,我得到以下异常:
Exception in thread "main" org.apache.solr.client.solrj.beans.BindingException: Invalid setter method. Must have one and only one parameter
at org.apache.solr.client.solrj.beans.DocumentObjectBinder$DocField.storeType(DocumentObjectBinder.java:202)
at org.apache.solr.client.solrj.beans.DocumentObjectBinder$DocField.<init>(DocumentObjectBinder.java:150)
at org.apache.solr.client.solrj.beans.DocumentObjectBinder.collectInfo(DocumentObjectBinder.java:119)
at org.apache.solr.client.solrj.beans.DocumentObjectBinder.getDocFields(DocumentObjectBinder.java:99)
at org.apache.solr.client.solrj.beans.DocumentObjectBinder.toSolrInputDocument(DocumentObjectBinder.java:73)
at org.apache.solr.client.solrj.SolrServer.addBean(SolrServer.java:136)
at org.apache.solr.client.solrj.SolrServer.addBean(SolrServer.java:125)
(...my call...)
但我不明白为什么。我多次为每个 setter 提供多个参数的类,但没关系(它甚至是由 Eclipse 生成的)。
现在的问题是:
我错过了什么?这可能是什么原因?schema.xml 中缺少的条目是否会导致这些错误(我怀疑...)?
提前致谢。
马丁·布劳恩