Solr - Найти целое число в поле с плавающей точкой - PullRequest
0 голосов
/ 16 августа 2011

Мне нужно несколько советов о том, как правильно индексировать поле, представляющее деньги.
Мне нужно 130, чтобы соответствовать 130,64. Я попробовал конфигурацию Trie Float ниже.

<fieldType name="float" class="solr.TrieFloatField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>

Когда я ищу в поле 130, я не получаю результатов. Я пытался увеличить и уменьшить точность безрезультатно.

Как мне получить это, чтобы индексировать части числа?

Ответы [ 2 ]

1 голос
/ 16 августа 2011

Вы не можете напрямую заставить поле с плавающей точкой (TrieFloatField) соответствовать целой части числа (просто передавая "число").То, что вам нужно сделать, это запрос диапазона по номеру:

имя поля: {130 ДО 131} ИЛИ 130

0 голосов
/ 16 августа 2011

Просто индексируйте его как textTield, и тогда вы сможете сопоставить его с запросом с подстановочными знаками или создать ngrams и сопоставить запрос по ним.

...