Полагаю, вы можете приблизиться.
Сортировать результаты по строковому расстоянию (разделить для упрощения):
localhost:8983/solr/select/?fl=id
&q=fieldName1:queryTerm1
&sort=strdist("queryTerm2",fieldName2, JW) desc
, который упорядочит результаты, по наибольшему расстоянию между строками.
Обратите внимание, что вы не можете напрямую получить расстояние до строки.Существует оценка псевдополя, полученная с помощью:
fl=id,score
, но это ничего не значит в абсолютном смысле.
Вы также можете повысить на основе результатовна расстоянии строки, а не просто сортировать их.В этом случае он будет учитывать релевантность документа и расстояние до строки.
Как только у вас есть отсортированный список (надеюсь, он не слишком большой!), Вы можете определить на стороне клиента элементы, у которых 'длина строки <5'. </p>
Я сделал это по ссылкам ниже.
http://yonik.wordpress.com/2011/03/10/solr-relevancy-function-queries/
http://wiki.apache.org/solr/FunctionQuery#strdist