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

Я прочитал в документах 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"
    >

У кого-нибудь это работало?


person Gary Stanton    schedule 31.07.2013    source источник
comment
Должно ли значение быть title или Name ?   -  person Peter Boughton    schedule 31.07.2013
comment
См. этот связанный пост — CF10 Fieldboost на cfindex не влияет   -  person Miguel-F    schedule 31.07.2013
comment
@PeterBoughton Я пробовал оба, но безрезультатно!   -  person Gary Stanton    schedule 01.08.2013
comment
@ Miguel-F Я просмотрел этот пост и действительно могу начать играть с взвешиванием в точке поиска, однако это далеко не идеально. Когда я взвешиваю запрос таким образом, я возился с настраиваемыми полями, которые ограничены в способах поиска по ним — подстановочные знаки не допускаются в начале критериев, и хотя название не похоже, другие настраиваемые поля требуют точного соответствия. Название также чувствительно к регистру! Я чувствую, что мой вариант использования был бы намного лучше, если бы я мог заставить fieldBoost работать, как описано - возможно ли, что это ошибка в ACF?   -  person Gary Stanton    schedule 01.08.2013
comment
То, что я ищу, это те же функции поиска, которые я получаю при поиске в теле, но с содержимым в определенных полях более важным, чем в других... Разве это не так, как это должно работать?   -  person Gary Stanton    schedule 01.08.2013
comment
Я нашел эту ошибку, которая вызывает вопрос; Вы пытались включить вес в атрибут fieldboost? Должно быть что-то вроде этого fieldboost="title:8" или fieldboost="Name:8"? Все еще не уверен, следует ли указывать title или Name.   -  person Miguel-F    schedule 01.08.2013
comment
Ага! Я не видел в документах ничего, что указывало бы на то, что мне нужно было бы включить туда вес... Кажется, это работает, хотя я не уверен, что это работает особенно хорошо! По крайней мере, он индексирует, и я поправляюсь, хотя и не с идеальными результатами. Спасибо, что изучили это для меня.   -  person Gary Stanton    schedule 01.08.2013


Ответы (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">

Также проверьте этот связанный вопрос, чтобы узнать, как увеличить поля во время поиска - cfindex не действует

person Miguel-F    schedule 01.08.2013