2015-02-12 83 views
0

我已經收錄這是給我造成像下表Solr的排序由結果

A 
B 
C 
D 
E 
F 
H 
H 
A 
B 

我想排序結果以這樣的方式,我得到的^ h首先每次,然後其餘的應該是排序,如ASC

H 
H 
A 
A 
B 
B 
C 
D 
so on... 

我沒有找到辦法。請幫忙。

+2

SQL Table?.... – 2015-02-12 07:08:12

+0

假設它是任何列的結果,即字母表 – 2015-02-12 07:09:25

+0

'sort by desc'表示'Z'是First還是'A'是第一個?在你的例子中'A'是第一個。 – Sadikhasan 2015-02-12 07:10:29

回答

1

這取決於你使用,以獲得結果的搜索查詢。你可以修改你的查詢參數,使它與你想要在頂部的確切結果匹配,並在q.alt參數中傳遞原始查詢,然後應用你希望使用的排序。

請注意,爲了使用q.alt,您需要使用dismax或edismax查詢解析器。

+0

做這個排序謝謝。你能讓我知道這將如何工作我需要在將dismax和edismax設置爲true後通過q.alt = H嗎?我檢查它是這樣的,並沒有得到期望的結果。 – 2015-02-12 09:29:21

+0

q.alt = [您的查詢參數]:H&defType = edismax – 2015-02-12 10:56:48

1
$alpha = array("A","B","C","D","E","F","H","H","A","B"); 

$first = array("H"); 
$alpha =array_diff($alpha, $first); 
asort($alpha); 
$alpha= $first + $alpha; 

Demo

+0

感謝一下。但我想通過索爾 – 2015-02-12 07:23:08