>我有一个 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>