Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search Solr 1.4中的突出显示-RequireFeldMatch_Search_Lucene_Solr_Highlighting - Fatal编程技术网

Search Solr 1.4中的突出显示-RequireFeldMatch

Search Solr 1.4中的突出显示-RequireFeldMatch,search,lucene,solr,highlighting,Search,Lucene,Solr,Highlighting,我有一个目标 Title : foo Summary : foo bar Body : this is a published story about a foo and a bar 这三个字段都设置为存储=true的字段 用户在我的系统中搜索单词 "foo" 我想在这三个地方强调foo 用户在标题中搜索单词foo "title:foo" 我只想在标题中突出显示foo 当我加上 hl.requirefeldmatch=true和hl.usePhraseHighlighter=tr

我有一个目标

Title   : foo
Summary : foo bar
Body    : this is a published story about a foo and a bar
这三个字段都设置为存储=true的字段

用户在我的系统中搜索单词

"foo"
我想在这三个地方强调foo

用户在标题中搜索单词foo

"title:foo"
我只想在标题中突出显示foo

当我加上
hl.requirefeldmatch=true
hl.usePhraseHighlighter=true
作为我向SOLR查询的一部分,在执行一般非现场搜索时,我无法在所有三个位置获得突出显示。有没有办法让这两种方案都起作用

我关闭了这两个项,但我添加了一些查询的字段部分,用户看不到这些字段部分,例如,其中只显示已发布的项。问题是

(foo AND status:published)

当用户仅搜索单词“foo”时,导致正文中发布的单词高亮显示

事实证明,与solr/lucene相比,act_as_solr的这一点可能更奇怪

我利用了solr中的fq选项

查询看起来不再像

(foo AND status:published)
看起来更像

q=foo&fq=status:published
当它击中索尔

fq不会影响高亮显示,这似乎是一种更好的方法,因为您可以获得一些solr缓存的好处

还有一个bug/feature没有用acts_as_solr实现,它也需要利用这一点

例如,如果我的模型名为article,并且用户搜索单词article,AAS将在幕后构建一个如下所示的查询

(article AND type_t:article)
这导致了同样的问题,即当您不想让“文章”一词到处突出显示时,以及当用户搜索“文章”一词时,他们会返回系统中的每个对象


快速查看了acts_as_solr的GitHub分叉,没有看到任何人实现了这一点。parser_方法中有一个很好的待办事项。rb

结果表明,与solr/lucene相比,act_as_solr更像是一个怪癖

我利用了solr中的fq选项

查询看起来不再像

(foo AND status:published)
看起来更像

q=foo&fq=status:published
当它击中索尔

fq不会影响高亮显示,这似乎是一种更好的方法,因为您可以获得一些solr缓存的好处

还有一个bug/feature没有用acts_as_solr实现,它也需要利用这一点

例如,如果我的模型名为article,并且用户搜索单词article,AAS将在幕后构建一个如下所示的查询

(article AND type_t:article)
这导致了同样的问题,即当您不想让“文章”一词到处突出显示时,以及当用户搜索“文章”一词时,他们会返回系统中的每个对象

快速查看了acts_as_solr的GitHub分叉,没有看到任何人实现了这一点。parser_methods.rb中有一个很好的待办事项