2015-03-14 1 views
0

Je cherche de l'aide sur la recherche et la commande d'expression de données de printemps.Recherche de phrase de Solr de données de ressort et tri

Lorsque je recherche "Spring Data", il doit renvoyer les données contenant "Spring Data".

> Ex:- Should return --- Spring Data is good 
> Should return --- 123Spring Data123 is good 
> Should not return --- Spring and Data 

De plus, le résultat devrait être dans l'ordre de tri basé sur le nombre de champs correspondants.

Lorsque j'obtiens l'entrée de recherche de l'utilisateur, je recherche comme ci-dessous.

public interface SolrSecurityRepository extends 
     SolrCrudRepository<SolrSecurity, String> { 

    @Query(value = "subject:*?0* OR content:*?0*") 
    List<SolrSecurity> find(String searchStr, 
       Pageable pagebale); 

} 

Je ne sais pas comment atteindre match expression exacte ....

Aussi, est-il de toute façon à permettre la mise au point de voir la requête générée par des données Spring solr ...

Merci , Baskar.S

Répondre

0

Données de ressort Solr repose sur le comportement du Standard Query Parser. Par défaut, aucune action n'est effectuée pour imposer le tri de quelque manière que ce soit, ce qui signifie que les documents sont triés par score. Une recherche d'expression exacte signifierait que vous deviez citer les termes chaîne. Vous pouvez jeter un coup d'œil à la note attribuée en ajoutant une propriété score readonly à l'entité et modifier la annotée Demande pour lire la liste donnée des champs .

class SomeDocument { 
    @Id String id; 
    @Indexed(readonly=true) Float score; 
    // ... 
} 

@Query(value = "subject:*?0* OR content:*?0*", fields={"*","score"}) 
List<SomeDocument> find(String searchStr, Pageable pagebale); 

Ou utilisez simplement utiliser @Score (actuellement disponible uniquement pour 1.4.RC1) dans le document.

Si vous souhaitez imprimer la requête avant l'exécution s'il vous plaît activer la journalisation pour SolrTemplate en ajoutant <logger name="org.springframework.data.solr.core.SolrTemplate" level="debug" />-logback.xml.