2017-01-27 97 views
0

xml有两组具有不同数据的相似标签。如何在具有相同标签但不同值的solr中索引xml

<address> 
    <door_num>100</door_num> 
    <street>hundred street</street> 
    <city>XYZ</city> 
</address> 
<address> 
    <door_num>200</door_num> 
    <street>two hundred street</street> 
    <city>ABC</city> 
    <active>1</active> 
</address> 

什么是索引这个最好的方法?通过door_num搜索100和城市XYZ必须返回文档;而由door_num 100和城市ABC搜索则不能返回任何文件。按多值储存在这里没有帮助。另请注意,第二组地址与door_num 200可能存在或不存在于xml中。请建议

回答

0

将此数据建模为nested documents,地址信息将存储在嵌套文档中,然后您可以查询它们,以便door_num和city需要在相同的嵌套文档上匹配。

关于如何真正让他们进入指数,你有几种选择:

  1. 写一些Java(或Groovy或任何其他JVM郎)与SolrJ代码,建立在客户端的文档,并索引它们。
  2. 如果您不喜欢java,您仍然可以在客户端编写任何其他的lang代码,并将您的文档构建为Solr可以接收的xml/json,并将它们编入索引。
  3. 如果你不想写任何代码,试试DIH and XPathEntityProcessor,你可能会达到你所需要的。
+0

感谢您的详细信息。这很有帮助。 – KCMS

相关问题