Я использую NHibernate для поиска по имени элемента. Я получаю постраничный список элементов из базы данных и упорядочиваю его по возрастанию имени элемента.
Итак, если я ищу «термин», я получаю страницу результатов, которая содержит «термин» в любом месте результата, и страница упорядочена в алфавитном порядке.
Например, результаты могут выглядеть следующим образом
a term
d term
g term
j term
p term
s term
term 1
term 2
v term
z term
Технически этот список правильный, потому что он упорядочен по алфавиту.
Однако технически правильного недостаточно для клиента. Они хотят, чтобы список упорядочивался сначала по релевантности искомого термина, а затем по алфавиту.
Таким образом, результат станет
term 1
term 2
a term
d term
g term
j term
p term
s term
v term
z term
Я не знаю, как сконструировать этот запрос, или если это вообще возможно. Если бы это можно было сделать в приложении, это было бы намного проще, но из-за подкачки это должно быть сделано в базе данных. Это то, что усложняет вещи. Может ли кто-нибудь, пожалуйста, указать мне правильное направление здесь?