2014-03-06 62 views
0

我正在使用Apache solr搜索並按字段值進行排序時出現問題。apache solr按字段值搜索排序

任何人都可以解決這個問題嗎?

即假設我們有一個名爲'function_area'的字段,其值可能是1,2,3,4。

但我希望包含function_area = 2的記錄應該在上面,其餘記錄應該按照function_area升序排列。

記錄順序

記錄1 => function_area = 2

記錄2 => function_area = 1

記錄2 => function_area = 3

記錄2 => function_area = 4

回答

0

您可以使用Solr中存在的排序參數CommonQueryParameters。而且,自Solr 3.1以來,FunctionQuery也可以在這裏探討。

exists功能可能爲了獲得與特定字段值的結果可以使用命令第一:

http://localhost:8983/solr/collection1/select=q=*:*&sort=exists(query({!v='function_area:2'})) DESC 
+0

我沒有得到實際預期的結果,我想有值2 function_area應顯示在上面,其餘的function_area價值1,3,4升序排列。 solor按此順序的記錄 Slno。 1記錄中包含function_area 1 Slno。 2記錄包含功能區2 Slno。 3記錄中包含function_area 3 Slno。 4條記錄包含function_area 4 但我想按此順序記錄 Slno。 2 Slno。 1 Slno。 3 Slno。 4 這意味着Slno。 2記錄應該排在最前 – user3386503

+1

@ user3386503用更具體的示例更新答案。 – rchukh