Solr edismax。如何检索提供查询结果的字段

时间:2014-01-21 11:12:20

标签: solr edismax

我正在使用qf param查询多个字段。但我想知道如何检索给出结果的字段。

示例(不是一个真实的例子):

      q={!edismax qf='tag content'}("tablet")AND("pc")

字段值:

      doc1:
           tag: tablet
           content: The test has failled. Use a pc instead.
      doc2:
           tag: tablet pc
           content: The test has worked.

因此,两个文件都将被退回,因为它们的标签/内容都包含平板电脑和个人电脑。 是否有可能知道doc2在标记中都有匹配,而doc1只有1个匹配标记和1个内容? Debugquery似乎没有提供有关此内容的信息。

我知道我可以使用qf boost增加搜索字段的重要性。

2 个答案:

答案 0 :(得分:1)

你可以:

  1. 使用Highlighting
  2. 使用debugQuery = true请求调试信息并解析评分信息以查找。
  3. 我认为1更容易,但它会对你的字段施加一些限制(例如,它们必须存储)

答案 1 :(得分:0)

好的,基于您对我的问题的回答。

不幸的是,Solr目前无法返回与查询匹配的字段作为默认结果文档的一部分。如果查询很简单,那么循环返回的存储字段可能是您最好的选择。突出显示也是一种选择。

此处提出了其他几个选项:http://grokbase.com/t/lucene/solr-user/117nkf36nq/determine-which-field-term-was-found