一个字的比赛我有某些领域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”字段的值之一匹配?
更新
就想通了,如果我删除{!提振B = RECIP(MS(NOW,日期),3.16e-11,1,1)}从我的Q,我的查询工作究竟如何我想要。但随着这一点,不要
更新2
就想通了,以前“只是想出了”是completele错了。我为某些搜索字符串工作,但它不适合我。我认为我需要这样的行为:
在“title”和“note”字段我需要带有“AND”的搜索词,但是在“tags”字段中,我需要使用“OR”进行搜索。我如何用dismax做到这一点?
我现在尝试用{!升压}和查询功能,但没有任何好的结果
field date exists and this query working well。请参阅我的主要问题的编辑,我把那里“更新2” QueryElevation只是可以提升特殊搜索字符串的一些记录。 我需要的:如果在“标签”多值字段包含搜索字符串中的一个字,然后提高这个项目的相关性。 – striker