我正在尝试对多个字段进行 solr dismax 查询,并且对语法有点困惑。
我的核心包含大量播客剧集。索引中的字段为 EPISODE_ID、EPISODE_TITLE、EPISODE_DESC 和 EPISODE_KEYWORDS。
现在,当我进行查询时,我想在 EPISODE_TITLE、EPISODE_DESC 和 EPISODE_KEYWORDS 字段中搜索查询词,并为不同的字段提供不同的提升。
因此,当我搜索“jedi”时,我构建的查询如下所示:
http://localhost:8983/solr/episode_core/select?
&defType=dismax&q=jedi&fl=EPISODE_ID,EPISODE_TITLE,EPISODE_DESC,EPISODE_KEYWORDS
&qf=EPISODE_TITLE^3.0+EPISODE_DESC^2.0+EPISODE_KEYWORDS
但是,这似乎不起作用 - 它返回零记录。
当我像下面这样放置一个默认字段时,它现在可以工作了,但这有点废话,因为这意味着我没有从搜索所有 3 个字段中得到结果:
http://localhost:8983/solr/episode_core/select?&df=EPISODE_DESC
&defType=dismax&q=jedi&fl=EPISODE_ID,EPISODE_TITLE,EPISODE_DESC,EPISODE_KEYWORDS
&qf=EPISODE_TITLE^3.0+EPISODE_DESC^2.0+EPISODE_KEYWORDS
我在这里缺少什么吗?我认为您可以搜索多个字段,并且我认为“qf”参数意味着您不需要提供默认字段参数?
非常感谢所有帮助...