Solr,将字符串数组强制转换为有效负载数组
我有一个solrcloud通过mongoconnector连接到mongo数据库。我想在solr中使用有效负载功能,但我不能正确地转换它。我成功地将其作为字符串导入,如下所示:Solr,将字符串数组强制转换为有效负载数组,solr,Solr,我有一个solrcloud通过mongoconnector连接到mongo数据库。我想在solr中使用有效负载功能,但我不能正确地转换它。我成功地将其作为字符串导入,如下所示: "topCategoryScoreList":["2107|510", "1225|940"], 然后是一个简单的复制域: <copyField source = "topCategoryScoreList" dest = "topCategoryPayload"/> 该字段定义
"topCategoryScoreList":["2107|510",
"1225|940"],
然后是一个简单的复制域:
<copyField source = "topCategoryScoreList" dest = "topCategoryPayload"/>
该字段定义为:
<field name="topCategoryPayload" type="payload" indexed="true" stored="true" multiValued="true"/>
和有效载荷类型:
<fieldtype name="payload" stored="true" indexed="true" class="solr.TextField" >
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.DelimitedPayloadTokenFilterFactory"
delimiter='|' encoder="float"/>
</analyzer>
</fieldtype>
但它不起作用。我还尝试编写一个updateRequestProcessorChain
<updateRequestProcessorChain name="payload">
<processor class="solr.CloneFieldUpdateProcessorFactory">
<lst name="source">
<str name="fieldName">topCategoryScoreList</str>
</lst>
<str name="dest">topCategoryPayload</str>
</processor>
<processor class="solr.ConcatFieldUpdateProcessorFactory">
<str name="fieldName">topCategoryPayload</str>
<str name="delimiter">|</str>
</processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
TopCategoryCoreList
topCategoryPayload
topCategoryPayload
|
但这张纸条也起了作用。我设法解决的是在一个位置字段中连接纬度和经度(但这些字段不是多值字段)。
我应该为此写一个插件吗?还有其他想法吗?
任何帮助或建议都将不胜感激。您可能需要简化并尝试:
<processor class="solr.CloneFieldUpdateProcessorFactory">
<str name="fieldName">topCategoryScoreList</str>
<str name="dest">topCategoryPayload</str>
</processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
TopCategoryCoreList
topCategoryPayload