'FieldBoost' вызывает сбой CFIndex

Я прочитал в документах CF10, что атрибут "FieldBoost" был добавлен в CFIndex, чтобы указать, какие поля должны иметь большее значение в оценке Солра.

Однако кажется, что он не только не работает должным образом, но и фактически полностью завершает операцию индексации! Я видел другие посты на форумах 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"
    >

Кто-нибудь имел это работает?

1 ответ

Решение

Из комментариев...

Я обнаружил эту ошибку, которая, по моему мнению, похожа на вашу ситуацию (хотя об этом сообщалось на платформе Mac).

Хотя это не очень хорошо задокументировано, вы должны включить вес с fieldboost приписывать. Для реализации ColdFusion вы указываете вес, добавляя его в поле, которое вы хотите увеличить, разделив его : (двоеточие). Атрибут должен выглядеть примерно так:

fieldboost="title:6" 

Мне удалось найти небольшую часть документации по этому атрибуту в документации по бета-версии Adobe ColdFusion 10 (в частности, на странице 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 на cfindex не имеет никакого эффекта

Другие вопросы по тегам