2013-07-31 75 views
1

我在CF10文档中读到'属性'FieldBoost'已被添加到CFIndex中,以便指定哪些字段在Solr的评分中应该有更重要的地位。'FieldBoost'导致CFIndex失败

但是,它似乎不仅没有按预期工作,而且实际上导致整个索引操作完全失败! 我在Adobe论坛上看到过其他文章提到完全相同的问题,但没有回复或解决方案可用。

我跑CF10更新11

下面的代码工作和索引14000个记录:

 <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

值应该是“title”还是“Name”? –

+1

看到这个相关的文章 - [CF10 FieldFrame上cfindex没有影响](http://stackoverflow.com/questions/12589084/cf10-fieldboost-on-cfindex-has-no-effect) –

+0

@PeterBoughton我已经试过两个无济于事! –

回答

2

从评论...

我发现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">

还要检查这个相关问题1在搜索过程中提升字段的方法 - CF10 Fieldboost on cfindex has no effect