Spring Data Solr始终创建多值字段

哈沙娜·萨马拉纳亚克(Harshana Samaranayake)

我正在使用solr5.5.1spring-data-solr 1.4.2.RELEASE我已经用我的工作项目配置了spring数据solr,并且工作正常。但是,当我使用模型类将数据插入solr时,它会使用模型类的relavent字段自动更新托管模式文件。在此模型中,我不使用多值类型,但spring-data-solr将托管模式文件更新为多值属性。为什么会这样呢?模型类的样本字段声明

@SolrDocument(solrCoreName = "car")
public class CarModel{

    @Id
    @Indexed(type = "string")
    private String id;

    @Indexed(type = "string")
    private String condition;


    @Indexed(type = "string")
    private String name;

    //getters n setters
}

当我通过保存此类的对象时SolrCrudRepository然后,托管模式将像这样进行更新,

<field name="condition" type="strings"/>
<field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
<field name="name" type="strings"/>

这里的字段是多值的。这是怎么回事,我该如何解决?

安尼尔

我遇到了同样的问题,但是我尝试使用以下建议的实现。Spring Data Solr:声明字段时如何将multiValue设置为false

另外,我还更改了solrconfig.xml中的默认实现。我第一次都想拉..等等。

 <processor class="solr.AddSchemaFieldsUpdateProcessorFactory">
  <str name="defaultFieldType">string</str>
  <lst name="typeMapping">
    <str name="valueClass">java.lang.Boolean</str>
    <str name="fieldType">boolean</str>
  </lst>
  <lst name="typeMapping">
    <str name="valueClass">java.util.Date</str>
    <str name="fieldType">tdate</str>
  </lst>
  <lst name="typeMapping">
    <str name="valueClass">java.lang.Long</str>
    <str name="valueClass">java.lang.Integer</str>
    <str name="fieldType">tlong</str>
  </lst>
  <lst name="typeMapping">
    <str name="valueClass">java.lang.Number</str>
    <str name="fieldType">tdouble</str>
  </lst>
</processor>

我不确定,将来是否还会有其他问题。现在,我能够看到这些字段正在接受单个值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章