如何在Solr.Net中添加多值数据

时间:2011-04-05 13:56:30

标签: c# asp.net solrnet solr

我想添加带有Solr.net架构文件的产品。我的数据库表是

Category table - catid, catname
Brand table - brandid, brandname
Item table - productid, productname, productdesc
Filter table- key, value

注意: - 如果我使用表添加all,则会发生数据重复。所以,如果你有更好的解决方案,请建议我参加考试。

先谢谢。 Ashutosh 9818842034

2 个答案:

答案 0 :(得分:4)

要在Solr / SolrNet中表示multiValued字段,首先必须将该字段声明为multiValued in the Solr schema。然后是map the field as a property of collection type

你提到“数据重复”。这在Solr中是可以预期的,因为您必须对数据进行非规范化。请参阅Solr schema design wiki for reference

答案 1 :(得分:1)

要在Solr中索引产品,schema.xml中的字段应该是这样的:

<fields>
  <field name="id" type="string" indexed="true" stored="true" required="true" />
  <field name="name" type="text" indexed="true" stored="true"/>
  <field name="desc" type="text" indexed="true" stored="true"/>
  <field name="catname" type="string" indexed="true" stored="true" multiValued="true"/>
  <field name="brandname" type="string" indexed="true" stored="true"/>
</fields>

注意为类别名称设置了multiValued="true",因此产品可以有多个类别。我不认为您需要发送到Solr类别ID或品牌ID,但这取决于您的应用程序。