将edismax搜索限制为某个字段值,并在结果中找出匹配的字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将edismax搜索限制为某个字段值,并在结果中找出匹配的字段相关的知识,希望对你有一定的参考价值。

我有这些查询参数:

  'q' => "iphone",
  'echoParams' => "explicit",
  'defType' =>'edismax',
  'fl' => 'name,category,score',
  'qf' =>'name_suggest_edge^50 name_suggest_exact^50  name_suggest_ngram',
  'pf' =>'name_suggest_edge^100 '

如何将搜索范围限制为具有字段值docscategory:phones

另一个问题:有没有办法知道哪些字段q匹配onname_suggest_edge name_suggest_exact name_suggest_ngram返回结果时。

答案

查看debugQuery的输出 - 它会准确地告诉您哪些字段对文档的分数有贡献。请记住,多个字段可以匹配,因此您必须优先考虑。

您还可以使用突出显示来实现类似的功能 - 它会突出显示与您的查询匹配的字段中的标记。

以上是关于将edismax搜索限制为某个字段值,并在结果中找出匹配的字段的主要内容,如果未能解决你的问题,请参考以下文章

solr 名称 关键字两个字段权重设置

solr入门之权重排序方法初探之使用edismax改变权重

mysql如何查询某字段里两个值相加结果等于已知道的一个数字

MySQL查询某个字段包含某个值--FIND_IN_SET

mssql查询某个值存在某个表里的哪个字段的值里面

求助啊,tp下,mongodb如何查询后只返回某个字段值