我在CF10文档中读到,已将属性“FieldBoost”添加到CFIndex中,以指定哪些字段在Solr的评分中应该更重要。
然而,它似乎不仅没有按预期工作,它实际上导致整个索引操作完全失败! 我在Adobe论坛上看过其他帖子提到完全相同的问题,但没有回复或解决方案。
我正在运行CF10 Update 11。
以下代码可以工作并索引14,000条记录:
<cfindex collection = "MyCollection"
action = "refresh"
type = "custom"
query = "Local.MyContent"
key = "ID"
title = "Name"
body = "Name,Description"
>
但是,如果我添加FieldBoost值,则没有错误,并且索引操作似乎正确运行,但该集合现在包含零记录:
<cfindex collection = "MyCollection"
action = "refresh"
type = "custom"
query = "Local.MyContent"
key = "itemID"
title = "Name"
body = "Name,Description"
fieldBoost = "title"
>
有人有这个工作吗?
答案 0 :(得分:3)
来自评论......
我发现this bug我认为它与您的情况相似(尽管在Mac平台上报告过)。
虽然没有很好地记录,但您需要将权重包含在fieldboost
属性中。对于ColdFusion的实现,您可以通过将权重附加到要用:
(冒号)分隔的增强字段来指定权重。该属性应如下所示:
fieldboost="title:6"
我能够在Adobe ColdFusion 10 Beta documentation(特别是该文档的第106页)上找到关于此属性的一些文档。以下是该文件的摘录:
提高搜索结果排名
cfindex中的以下属性可帮助您提高搜索结果排名:
fieldBoost:索引时提升特定字段 fieldBoost增强了字段的分数,从而提高了搜索结果中的排名。通过将值指定为以逗号分隔的列表,可以提升多个字段。
docBoost:索引时提升整个文档 docBoost增强了文档的分数,从而提高了搜索结果中的排名
以下代码是他们用来显示fieldboost
属性的示例(注意它们正在增加两个字段,用逗号分隔):
<cfindex collection="autocommit_check" action="update" type="file" key="#Expandpath(".")#/_boost1.txt" first_t="fieldboost" second_t="secondfield" fieldboost="first_t:1,second_t:2" docboost="6" autocommit="true">
另请查看此相关问题,了解在搜索过程中提升字段的方法 - CF10 Fieldboost on cfindex has no effect