具有 spring 数据的 solr dynamicField
solr dynamicField with spring data
我有一个架构类似于
的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" , ....}
我正在使用 spring-data-solr 连接和使用 solr。动态字段是动态的,所以我无法在我的 @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>
我有一个架构类似于
的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" , ....}
我正在使用 spring-data-solr 连接和使用 solr。动态字段是动态的,所以我无法在我的 @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>