也许这是一个新的,大部分未使用的功能,但我正在尝试根据我们的数据库中的查询创建一个集合。这是一个简单的Q& A,我想将问题中的匹配排在高于答案的位置。似乎逻辑上目前正在搜索“注册课程”问题“我如何注册课程”排名低于“如何为我的课程购买书籍”,因为书中的内容答案我猜想更好。因此,如果问题与查询中的文本匹配得很好,我想提出Q& A's。
CF10在cfindex上有一个“Fieldboost”字段但是这对结果有0影响。我添加它并删除它没有任何变化。得分和排名保持不变。
<cfindex action="refresh" collection="faq"
type="custom"
title="question"
body="question,answer"
fieldboost="question:6"
key="faq_id"
query="updateQuery"
location_i="location_id" />
`
答案 0 :(得分:0)
所以我搜索了Raymond Camden的网站并找到了一个我认为我之前尝试过的小答案,但也许我的语法错了。我正在使用title:#URL.q#^2
,它正在努力提高搜索中标题的价值。
虽然这有效,但CF10文档表明我应该能够使用fieldboost
属性执行此操作,但我仍然无法使用该属性。
答案 1 :(得分:0)
根据the Solr documentation任何要提升的字段必须在schema.xml中有omitNorms="false"
。默认值为false
,但是它可能在schema.xml中设置为true
吗?我在上面的CFINDEX语句中看到的另一个问题是,您没有在fieldboost
参数中指定字段名称,而是在查询列中指定字段名称。如果你想提升title
,那么也许你需要
<cfindex ... fieldboost="title:6" ... />