我需要索引Solr中的字符串集合。
每个String包含XML内容,类似于下面的内容:
<item>
<property>"Test"</property>
<property2>"Test"</property2>
<property_nested>
<nested1>"Nested"</nested1>
<nested2>"Nested"</nested2>
<nested3>"Nested"</nested3>
<more_nested>
<prop>"testing"</prop>
<prop2>"testingTotalAmount"</prop2>
<prop3>"one more property"</prop3>
</more_nested>
</property_nested>
</item>
我的代码与此类似:
List<String> xmls = allXML();
xmls.foreach(x -> {
// INDEX using solrClient
});
对于我的集合中的每个元素,我应该在Solr中获得相应的文档。使用嵌套标签等尊重它的模式,可以推断出类型。
SolrJ给我上课:
org.apache.solr.common.SolrInputDocument
虽然这个类允许我添加字段,属性然后索引我的数据。我觉得使用它是多余的,它会让我编写大量代码来提取标记值并将它们放入SolrInputDocument中。我宁愿有一个替代方案,只需索引我在Solr中拥有的数据字符串。
如何在Solr中索引我的集合中的每个元素字符串,保留其架构,或者换句话说,它的嵌套标签,而不使用SolrInputDocument?
我也在考虑使用Scala而不是Java,但没有找到 到目前为止任何图书馆
我也在考虑Json MimeType,只要能够保持要求
答案 0 :(得分:0)
如果要索引输入XML中的每个元素,那么我相信您必须在不同的Solr字段下提取这些值。
它会让我编写很多代码来提取标记值
对此,使用XSLT可以帮助您将输入XML转换为Solr XML文档格式。
-Amit