Вопрос

У меня Solr настроен для возврата фрагментов с фрагризом 500.

Иногда все поле - 500 символов или менее, поэтому фрагмент идентичен поле. Для полей, которые дольше, чем это, SOLR просто возвращает фрагмент без каких-либо индикации (или настолько похоже), что фрагмент представляет собой только часть содержимого поля. Это означает, что фрагмент может начать середине предложения.

Я хочу понять пользователям, которые они смотрят на фрагмент и просто отображают эллипсис в конце и / или начать такой фрагмент. Это функциональность, встроенная в Solr? Если нет, как бы вы ходили в установку эллипсиса?

Это было полезно?

Решение

То, что я закончил, возвращал как фрагмент, так и неизменное поле, из которого был создан фрагмент.

Затем я написал какую-то логику, которая сравнила два, чтобы определить, следует ли добавлять эллипсис к фрагменту и, если так, добавлять его до, после или как до, так и после фрагмента.

Другие советы

Solr не вернет индикатор, вы правы.

Установите свой Fragsize до 501. Тогда его быстрый бит логики в вашем интерфейсе UI, чтобы определить, следует ли отображаться эллипсис или нет.

Обрезать что-нибудь 501-500 и добавить эллипсис.

Я просто имел дело с той же проблемой. То, как я пошел, это следующее:

  1. Получить оригинальную строку
  2. Получить как первые, так и последние 10 символов исходной строки
  3. Получить как первые, так и последние 10 символов фрагмента, возвращаемого поиском SOLR
  4. Сравните оба, и заполните переменную при необходимости!

    $f_ellip = NULL;
    $l_ellip = NULL;
    if ($orig_body_beggining != substr((string)$hl_content->str, 0, 10)) {
        $f_ellip = "… ";
    }
    if ($orig_body_end != substr((string)$hl_content->str, 0, -10)) {
         $l_ellip = " …";
    }
    $entry_body = $f_ellip.(string)$hl_content->str.$l_ellip;
    

Вот еще один лучший подход. Создавая индекс, добавьте атрибут «Teaser», который имеет эту логику уже примененной. Выдвиньте эти усилия из ваших запросов в целом. Это именно то, как я сделаю это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top