我正在使用NHibernate对项目名称进行搜索。我从数据库中得到一个分页的项目列表,并且按项目名称升序排列。因此,如果我搜索'term',我会返回结果页面,其中包含结果中任意位置的'term',并且页面按字母顺序排列。如何首先按搜索词排序查询结果,然后按字母顺序排列?
例如,结果可能是这样的
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
我不知道如何构建这个查询,或者如果它甚至有可能。如果这可以在应用程序中完成,它会容易得多,但由于分页,这必须在数据库上完成。这是让事情复杂化的原因。请有人在这里指出正确的方向吗?
定义 “相关性”。 – 2011-06-07 10:08:03
通过相关性,我的意思是他们希望被搜索的术语在排序中优先。第二个清单列出了进一步解释这个问题的一个例子。 – DaveDev 2011-06-07 10:10:31
为什么大家都在引号中使用术语“相关性”?我写了'相关性'。我在这里错过了什么吗? – DaveDev 2011-06-07 10:21:23