我找到了使用JSON写入solr with block join(基本上是嵌套字段)的好例子,但schema.xml会是什么样子?
例如,我有一个包含许多SKU的文档,我希望在这些skus上有标签。这些标签(描述,用户,类型)有多个信息位,并且它们是多值的,因为SKU可以有多个标签。
solr schema.xml如何看待这样的示例?
我正在使用Solr 4.10 - 如果我们升级到5.0会解决这个问题吗?
答案 0 :(得分:3)
我想我已经明白了。
Schema看起来像这样:
<fields>
<field name="_root_" type="string" indexed="true" stored="false"/>
<field name="type" type="string" indexed="true" stored="true" />
<field name="Id" type="text_general" indexed="true" stored="true" required="true" />
<field name="StockNumber" type="text_general" indexed="true" stored="true" />
<field name="TagName" type="text_general" indexed="true" stored="true" />
<field name="TagUser" type="text_general" indexed="true" stored="true" />
<field name="TagType" type="tint" indexed="true" stored="true" />
<fields>
写信给它,看起来像这样:
<add>
<doc>
<field name="Id">SkuTest111</field>
<field name="type">SKU</field>
<field name="StockNum">Test111</field>
<doc>
<field name="Id">TagTest111cat</field>
<field name="type">Tag</field>
<field name="TagName">Cat</field>
<field name="TagUser">Eldorian</field>
<field name="TagType">1</field>
<field name="StockNum">Test111</field>
</doc>
<doc>
<field name="Id">TagTest111dog</field>
<field name="type">Tag</field>
<field name="TagName">Dog</field>
<field name="TagUser">Eldorian</field>
<field name="TagType">2</field>
<field name="StockNum">Test111</field>
</doc>
</doc>
</add>
在这个示例中,您将拥有一个带有2个标签,即猫和狗的Test111的SKU。
只有在您执行扩展查询时才会显示此信息,例如,您可以在solr管理员处使用此网址:
http://localhost:8983/solr/collection1/select?q= {!parent which ='type:SKU'}&amp; fq = StockNum:Test111&amp; wt = xml&amp; indent = true&amp; expand = true&amp; expand.field = StockNum&amp; expand.q = StockNum :Test111