Issue/vivo 3606 : add language-specific sorting and label fields to search index (#321)
* Add select query document modifier with dynamic target field; use locale-specific sort fields when available. * Add i18nized labels to index for autocomplete * Remove lowercasing from label query * Improved document modifier for multilingual field with defined suffix name * Improved document modifier for multilingual field with defined suffix name * refact: reverted access modifier changes * Lowercase label in documentModifierI18nSort in case old solr schema is used which doesn't have lowercase filter * fix: fixed queries and locale names * fix: renamed new document modifier * fix: use linkedHashMap to retain map sort fields order * refact: extracted buildAndExecuteVClassQuery(List<String> classUris, int page, int pageSize, String alpha, VitroRequest vreq) * fix: removed unused import * fix: constant name aligned with other suffix Co-authored-by: Brian Lowe <brian@ontocale.com>
This commit is contained in:
parent
6ad364f9ee
commit
df3c4a88ae
13 changed files with 327 additions and 27 deletions
|
@ -0,0 +1,16 @@
|
|||
@prefix : <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationSetup#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
||||
|
||||
:documentModifier_multilingual_label
|
||||
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryI18nDocumentModifier> ,
|
||||
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
|
||||
rdfs:label "multilingual label document modifier" ;
|
||||
:hasTargetSuffix "_label_display" ;
|
||||
:hasSelectQuery """
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
SELECT (MIN(?label) AS ?singleLabel ) WHERE {
|
||||
?uri rdfs:label ?label .
|
||||
BIND (LANG(?label) as ?lang )
|
||||
} GROUP BY ?lang ORDER BY ?lang
|
||||
""" .
|
|
@ -0,0 +1,16 @@
|
|||
@prefix : <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationSetup#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
||||
|
||||
:documentModifier_multilingual_sort
|
||||
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryI18nDocumentModifier> ,
|
||||
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
|
||||
rdfs:label "multilingual sort document modifier" ;
|
||||
:hasTargetSuffix "_label_sort" ;
|
||||
:hasSelectQuery """
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
SELECT ( LCASE(MIN(?label)) AS ?singleLabel ) WHERE {
|
||||
?uri rdfs:label ?label .
|
||||
BIND (LANG(?label) as ?lang )
|
||||
} GROUP BY ?lang ORDER BY ?lang
|
||||
""" .
|
Loading…
Add table
Add a link
Reference in a new issue