На это указал MatsLindh, спасибо!
Это можно сделать с помощью полезных нагрузок: https://lucene.apache.org/solr/guide/8_5/other-parsers.html#payload -score-parser
Я не рекомендую пытаться используйте пример здесь: https://lucidworks.com/post/end-to-end-payload-example-in-solr/
Вот решение.
1) Создайте новую коллекцию:
bin/./solr create -c my_docs -s 1 -rf 2
2) Напишите это (на основе примера) в CSV-файл: (1.csv)
id, txt_dpf
1, это | 0,3 равно | 0,4 | 0,1 сначала | 0,7 док | 0,2
2, это | 0,1 равно | 0,2, | 0,5 секунды | 0,8 doc | 0,1 `
3) Добавить содержимое в коллекцию:
bin/./post -c my_docs -type text/csv -out yes docs/csv/1.csv
4) запрос: localhost: 8983 / solr / my_docs / select? debug = results & fl = txt_dpf, Score & q = {! payload_score% 20f = txt_dpf% 20v = this% 20func = max% 20includeSpanScore = true}
Некоторые важные замечания:
ВАЖНО имя поля, в котором находятся веса! он должен заканчиваться на "dpf".
Используйте IncludeSpanScore = true, иначе ваш результат будет просто весом.
@ MatsLindh, еще раз спасибо!