Неправильный подсчет граней диапазона номеров Solr

Я пытаюсь подсчитать проблемы с 1 по 5 с помощью этого запроса диапазона:

...&facet.range=issue&facet.range.start=1&q=magid:abc&facet.range.end=5&facet.range.gap=1

Он возвращает:

<lst name="issue">
      <lst name="counts">
        <int name="1">5</int>
        <int name="2">7</int>
        <int name="3">9</int>
        <int name="4">7</int>
      </lst>

Нет проблем 5 @@??? Также проблема 1 должна быть 3, 5 для проблемы 2 (тогда я думаю: «Эй! ЭТО НЕ МОЖЕТ БЫТЬ, элемент массива начинается с 0», верно?!...»). и снова выполните запрос. На этот раз он возвращает:

<lst name="issue">
      <lst name="counts">
        <int name="0">3</int>
        <int name="1">5</int>
        <int name="2">7</int>
        <int name="3">9</int>
        <int name="4">7</int>
      </lst>

О боже! это должно быть выпуск 1 ~ 5, а не 0 ~ 4? Почему Solr делает это? Это действительно сбивает меня с толку!


person Scott Chu    schedule 09.04.2014    source источник


Ответы (1)


Я уверен, что это не значения индекса, основанные на 0. Значения, которые вы видите, являются фактическими значениями, индексируемыми как токены, поэтому, если вы индексируете значения от 1 до 5, вы должны увидеть значения от 1 до 5.

Итак, если вы хотите убедиться, что у вас есть документы со значением 5 или нет, лучший способ дебигировать это из обозревателя схем -> информация о терминах

Итак, перейдите в интерфейс администратора Solr, выберите ядро, щелкните браузер схемы, выберите имя поля, для которого вы хотите просмотреть информацию о термине, затем нажмите «Загрузить информацию о термине».

person Emad    schedule 09.04.2014
comment
Неа! Я уверен, что у меня есть значение проблемы 5, так как я запрашиваю «magid: abc AND issue: 5» в admin, и он возвращает значительный результат. С другой стороны, использование 'magid:abc AND issue:0' не возвращает ничего, поэтому не имеет смысла, что name='0' считается равным 3. - person Scott Chu; 09.04.2014