我无法导入不包含所有必填字段的xml。所以我需要将这些字段的值传递为" NA"或者是其他东西。 如何在solr中的dataimporthandler模块中使用XPathEntityprocessor来完成它。 我的data-config.xml如下所示:
<dataConfig>
<dataSource type="FileDataSource" />
<document>
<entity name="document"
pk="image_link"
url="/Users/home/file.xml"
processor="XPathEntityProcessor"
forEach="/rss/channel/item"
>
<field column="cp_id" xpath="/rss/channel/item/productid" />
<field column="title" xpath="/rss/channel/item/title" />
<field column="description" xpath="/rss/channel/item/description" />
<field column="link" xpath="/rss/channel/item/link" />
<field column="image_link" xpath="/rss/channel/item/imagelink" />
<field column="category_name" xpath="/rss/channel/item/categoryname" />
<field column="sub_category_name" xpath="/rss/channel/item/subcategoryname" />
<field column="brand" xpath="/rss/channel/item/brand" />
<field column="mrp" xpath="/rss/channel/item/originalprice" />
<field column="offer_price" xpath="/rss/channel/item/discountedprice" />
<field column="source">sometext</field>
<field column="master_category" name="X"/>
<field column="master_category1" name="X"/>
<field column="master_category2" name="X" />
<field column="discount" xpath="/rss/channel/item/availability" />
<field column="comparison" name="0" />
</entity>
</document>
这里我需要添加一个指定了固定值的源列。
由于
答案 0 :(得分:0)
我找到了解决方案之一 我使用了TemplateTransformer并添加了#34; NA&#34;到名为source的字段列。
<field column="source" template="NA"/>
有关solr中dataimport处理程序中的转换器的更多信息。请参阅此链接: https://cwiki.apache.org/confluence/display/solr/Uploading+Structured+Data+Store+Data+with+the+Data+Import+Handler