2012-03-22 22 views
6

Stiamo facendo una query solr in cui stiamo dando una funzione personalizzata (che è piuttosto complessa) e ordinando i risultati per valore di tale funzione. La query simile a:Può solr restituire valori di funzione (non punteggio solr o campi documento)?

solr/select?customFunc=complexFunction(querySpecificValue1,querySpecificValue2)&sort_by=$customFunc&fq=...... 

La nostra comprensione è che possiamo ottenere solo tornare campi sul documento e solr segnare ritorno da solr. Qualcuno può dirci se e come possiamo recuperare il valore calcolato di customFunc per ogni documento. Per alcuni motivi non è possibile impostare il punteggio Solr come CustomFunc.

risposta

5

È necessario utilizzare il parametro fl per selezionare pseudo campi, funzioni e così via, ma questo è supportato solo su trunk, che verrà rilasciato con la versione 4.0 di Solr. Dai uno sguardo allo CommonQueryParameters wiki. Il problema SOLR-2444 potrebbe essere anche interessante.

Un breve esempio:

solr/select?q=*:*&fl=*,customFunc:complexFunction(querySpecificValue1,querySpecificValue2) 
0

Questo mi ha aiutato:

/solr/auction-En/select/?q=*:*_val_:"sum(x,y)"&debugQuery=true&version=2.2&start=0&rows=10&indent=on&fl=*,score 

vedrete i valori della funzione nella parte di debug.