带有弹簧数据的 solr 动态字段



>我有一个 solr 核心,其模式如下

<schema name="product" version="1.5">
  <field name="name" type="text_general" indexed="true" stored="true"/>
  <dynamicField name="*_t"  type="text_general"    indexed="true"  stored="true"/>
  ...

我的产品是这样的

{name : "product1", color : "red", foo   : "bar", ....}

假设可以节省 solr 作为

{name : "product1", color_t:"red", foo_t : "bar" , ....}

动态字段是动态的,所以我无法在我的@SolrDocument中定义它们,因此无法轻松更新或查询我的产品。

它可以通过org.apache.solr.client.solrj.SolrServer和手动完成工作来完成。 有没有办法使用 Spring 数据来处理动态字段? 也许通过在文档中定义一个Map并要求 Spring 使用映射键作为 solr 字段?

您可以为动态字段定义如下Map

private @Field("*_t") Map<String, List<String>> textMap;

假设_t字段是多值的,则可以有Map<String,List>,或者只Map<String,String>

最新更新