Как я возвращаю только усеченную часть поля в SOLR?

У меня есть действительно большое (5000 + символы) текстовое поле в SOLR под названием Описание. До сих пор это работает отлично для поиска и выделения. Если я выполняю поиск и нет никаких выделенных частей затем, я просто показываю первые 300 символов. То, что я хотел бы сделать, просто возвратить эти 300 символов в результате SOLR.

Я хотел бы сделать это, потому что при тестировании я получаю улучшенную производительность, если я возвращаю меньший результат. Это, вероятно, потому что документ XML меньше так меньше времени на проводе, и затем обработка быстрее, потому что документ меньше.

Я думал об использовании нового поля, которое просто сохранило первые 300 символов. Я думаю, что это работало бы, но я задавался вопросом, было ли лучшее или более встроенное решение.

7
задан Aaron D 10 August 2010 в 19:27
поделиться

1 ответ

То, что вы ищете, - это выделение hl.maxAlternateFieldLength ( http://wiki.apache.org/solr/HighlightingParameters#hl.maxAlternateFieldLength ).

Вам нужно будет определить это поле как собственное альтернативное поле. Если вы хотите выделить поле Описание , параметры запроса выделения будут следующими:

hl=true
hl.fl=Description
f.Description.hl.alternateField=Description
hl.maxAlternateFieldLength=300

Наконец, чтобы исключить поле Описание из результата запроса, вам придется исключить его из параметр запроса fl :

fl=score,url,title,date,othermetadata
8
ответ дан 7 December 2019 в 05:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: