2012-07-25 115 views
4

我想使用solr的以下情况:solr搜索多个类别和标签

每张照片可能有多个集。每个组将具有1个“类别”和1个“标签组”:

例如,照片A设置1:“类别”=单件(单件); “标记集”=修身,复古,红色(多个项目)

E.g.照片A套2:“类别”=凉鞋(单件); “标记集”=平台,红色(多个项目)

我们希望能够根据上述类别/标记搜索照片: “平台凉鞋”,“红色连衣裙”等

任何人都可以指出我们应该如何设置必要的schema.xml文件吗? (我们并不需要显示在我们的例子方位类)提前

回答

2

(Solr的版本1.4.1)

感谢您应该两个字段添加到您的架构。两者都是文本字段。您的类别很简单,但您需要使用多值字段。请参阅下面的SO后 - 这是非常相关的你在做什么:

What is the use of "multiValued" field type in Solr?

<field name="category" stored="true" indexed="true" type="text_general" /> 
<field name="tags" stored="true" indexed="true" type="text_general" multiValued="true"/> 

为了您的搜索,你可以添加搜索处理机来看待和推动具体领域也可以复制这两个领域到第三个字段并在第三个字段中搜索组合值。例如

<field name="text" stored="true" indexed="true" type="text_general" multiValued="true"/>  
<copyField dest="text" source="category"/> 
<copyField dest="text" source="tags"/> 
+0

thx JP。在这种情况下,让我们说照片A有“红色凉鞋”,“褐色连衣裙”,照片B有“棕色凉鞋”。如果我们想要搜索“棕色凉鞋”,是否可以避免照片A被找到(因为照片A在其标签中确实有“棕色”和“凉鞋”,但它不是正确的匹配)? – 2012-07-25 07:34:21