cancel
Showing results for 
Search instead for 
Did you mean: 

Ordenación en la búsqueda

spilby
Confirmed Champ
Confirmed Champ
Buenas,

estoy intentando ordenar los resultados que he obtenido tras una búsqueda con Lucene.

Query query = new Query(Constants.QUERY_LANG_LUCENE, sQuery);
QueryResult queryResult = repositoryService.query(store, query, false);
     
// Recogemos los resultados de la consulta
ResultSet results = queryResult.getResultSet();
rows = results.getRows();

Cada row tiene un score asociado que se puede recuperar haciendo un row.getScore().

El problema es que la puntuación de ese score, o no la entiendo, o va como quiere. (Prefiero pensar que es lo primero)

Tengo 4 ficheros subidos en alfresco, cada uno con la palabra "hit" repetida varias veces. Lo lógico es que a más coincidencias (en la query busco la palabra "hit") mayor score, pero os paso el score que me devuelve para cada fichero:

- Prueba 1.txt (una sola palabra "hit") -> score = 1.0

- Prueba 2.txt (hit hit) -> score = 0.9847

- Prueba 3.txt (hit hit hit) -> score = 0.9824

- Prueba 4.txt (hit repetida 10 veces) -> score = 0.9984

No le veo ningún sentido. El score mayor es el que sólo tiene una vez la palabra "hit"? Y el menor es el que la tiene 3 veces? No entiendo nada…

¿Hay que especificar de alguna manera en la query la asignación que debe darle Alfresco al score? ¿Habéis implementado alguno algo parecido? Para saber cómo ordenar los resultados de mayor a menor número de coincidencias con la palabra a buscar.

Merci!
1 REPLY 1

cybermakoki
Champ in-the-making
Champ in-the-making
Prueba a utilizar algo como esto:

 SearchParameters sp = new SearchParameters();
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
sp.addSort(ContentModel.PROP_CREATED.toString(), true);
sp.setQuery(query);
sp.addStore(Repository.getStoreRef());

results = getSearchService().query(sp);


el método addSort te ordena por la propiedad que le digas y en ascendente o descendente
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.