与multiValued一词匹配的Boost solr结果

|| 我有一些字段的Solr模式:
<field name=\"id\" type=\"integer\" indexed=\"true\" stored=\"true\" required=\"true\" multiValued=\"false\" />
<field name=\"title\" type=\"text\" indexed=\"true\" stored=\"true\" multiValued=\"false\" />
<field name=\"note\" type=\"text\" indexed=\"true\" stored=\"true\" multiValued=\"false\" />
现在我用查询来搜索它(%s是我的搜索字符串)
q={!boost b=recip(ms(NOW,date),3.16e-11,1,1)}%s&defType=dismax&qf=title^100 note
而且我需要为每个记录添加类似标签的内容。
<field name=\"tags\" type=\"string\" indexed=\"true\" stored=\"false\" multiValued=\"true\" />
如果单词之一与\“ tags \”字段中的值之一匹配,我如何提高该记录的结果? 更新 刚刚发现,如果我从我的q中删除{!boost b = recip(ms(NOW,date),3.16e-11,1,1)}},我的查询将完全按照我的要求工作。但这并没有 更新2 刚刚发现,以前的“刚刚发现”是完全错误的。我可以在某些搜索字符串中使用它,但对我来说效果不佳。我认为我需要这种行为: 在\“ title \”和\“ note \”字段中,我需要使用\“ AND \”搜索单词,但是在\“ tags \”字段中,我需要使用\“ OR \”搜索。我该如何使用dismax? 我现在尝试使用{!boost}和查询功能,但是没有任何好的结果     
已邀请:
        您的查询看起来就像您从网络上复制的一样。 1.)确保您的环境中存在一个名为“ date”的字段。 2.)查看solr输出。如果您在Tomcat中运行solr,请查看catalina.out ... ...有关点击和错误的数量   如果单词之一与\“ tags \”字段中的值之一匹配,我如何提高该记录的结果? 查看相应的高程组件:http://wiki.apache.org/solr/QueryElevationComponent     
        您可以使用dismax的
bq
(提升查询)来实现。在此处阅读有关ѭ3的信息:http://wiki.apache.org/solr/DisMaxQParserPlugin#bq_.28Boost_Query.29 您将不得不将查询分解为单个单词和使用每个单词的搜索标签。因此,如果您的查询是\“ abc pqr \”,您将拥有:
q={!boost b=recip(ms(NOW,date),3.16e-11,1,1)}%s&defType=dismax&qf=title^100 note&bq=tags:abc OR tags:pqr
    

要回复问题请先登录注册