SOLR多方面w查询

时间:2012-03-07 16:10:45

标签: solr faceted-search

我需要基于多个类别来分辨sorl,3分类是准确的。我遇到的问题是我需要区别于什么是基本上单独的查询,但我试图确定我是否可以用一个查询。在essense我想做一个filter.query,但不是计数,我想得到匹配的值。

问题是,对于相同的值,我可以对多个字段进行匹配 field1=*bah* OR field2=*bah* or field3=*bah*我面对field1,field2和field3

查询确实返回那些字段匹配的文档,但是在facet上,对于field1,不包括matchign field1 bah ..但包括匹配field2和field3的文档,其field1值不是 bah

id基本上喜欢使用fq = {!tag}和facet.field {!ex}来生成field1的facet,只有field1匹配值,facet 2没有field2 matchign value ..等等。

在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>

1 个答案:

答案 0 :(得分:0)

如果您包括突出显示以及分面,您的实际匹配将在highlighting结构中返回。但是,它不会为您提供数字匹配,并且它只会为您的查询返回的行提供匹配项。实际上,我不确定你是否需要使用刻面来完成你想要做的事情。

我可能错了,但您的问题听起来与此类似: How to return column that matched the query in Solr..?

希望这有帮助。