【发布时间】:2012-03-25 04:37:04
【问题描述】:
我需要根据多个类别对 sorl 进行分面,确切地说是 3 个类别。我遇到的问题是我需要不同的方式来处理本质上是单独的查询,但我正在尝试确定我是否可以用一个来完成。从本质上讲,我想做一个 filter.query 但不是计数,而是我想获取匹配项的值。
问题是我对相同值的多个字段进行匹配,可以说
field1=*bah* OR field2=*bah* or field3=*bah* 和我在 field1、field2 和 field3 上分面
查询确实返回了那些字段匹配的文档,但在方面,对于 field1,不只包括 matchign field1 bah.. 但包括匹配 field2 和 field3 的文档,他们的 field1 值不是 bah时间>。
id 基本上喜欢使用 fq={!tag} 和 facet.field{!ex} 来生成 field1 的 facets,只有 field1 匹配值,facet 2 没有 field2 matchign 值......等等。
这甚至可以通过 solr 中的一个查询来实现吗?
这是我的基本设置
<document>
<field1>bah boo</field1>
<field2>bah bing</field2>
<field3>boo bar</field3>
</document>
<document>
<field1>bar boo</field1>
<field2>bah bong</field2>
<field3>bah bar</field3>
</document>
<document>
<field1>bar boo</field1>
<field2>ding bah</field2>
<field3>bog bar</field3>
</document>
<document>
<field1>ban bah</field1>
<field2>ban bing</field2>
<field3>bbah bar</field3>
</document>
我想回来
<facets>
<field1>
<str>bah boo</str>
<str>ban bah</str>
</field1>
<field2>
<str>bah bing</str>
<str>bah bong</str>
<str>ding bah</str>
</field2>
<field3>
<str>bah bar</str>
<str>bbah bar</str>
</field3>
</facets>
【问题讨论】:
标签: solr faceted-search