Skip to content

Commit 70ec02e

Browse files
authored
Index genre field, present it as a facet (#1348)
1 parent adeb262 commit 70ec02e

File tree

23 files changed

+190
-1841
lines changed

23 files changed

+190
-1841
lines changed

etc/solr-config/access/conf/schema.xml

+138-147
Large diffs are not rendered by default.

indexing-solr/src/main/java/edu/unc/lib/boxc/indexing/solr/filter/SetDescriptiveMetadataFilter.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public void filter(DocumentIndexingPackage dip) throws IndexingException {
8383
this.extractIdentifiers(mods, idb);
8484
this.extractCitation(mods, idb);
8585
this.extractKeywords(mods, idb);
86+
this.extractGenre(mods, idb);
8687
}
8788

8889
if (idb.getTitle() == null) {
@@ -379,7 +380,6 @@ private void extractIdentifiers(Element mods, IndexDocumentBean idb) {
379380
}
380381

381382
private void extractKeywords(Element mods, IndexDocumentBean idb) {
382-
this.addValuesToList(idb.getKeyword(), mods.getChildren("genre", JDOMNamespaceUtil.MODS_V3_NS));
383383
this.addValuesToList(idb.getKeyword(), mods.getChildren("typeOfResource", JDOMNamespaceUtil.MODS_V3_NS));
384384
this.addValuesToList(idb.getKeyword(), mods.getChildren("note", JDOMNamespaceUtil.MODS_V3_NS));
385385
List<Element> physicalDescription = mods.getChildren("physicalDescription", JDOMNamespaceUtil.MODS_V3_NS);
@@ -396,14 +396,19 @@ private void extractKeywords(Element mods, IndexDocumentBean idb) {
396396
}
397397
}
398398

399+
private void extractGenre(Element mods, IndexDocumentBean idb) {
400+
idb.setGenre(new ArrayList<>());
401+
this.addValuesToList(idb.getGenre(), mods.getChildren("genre", JDOMNamespaceUtil.MODS_V3_NS));
402+
}
403+
399404
private void addValuesToList(List<String> values, List<Element> elements) {
400405
if (elements == null) {
401406
return;
402407
}
403408
for (Element elementObj: elements) {
404409
String value = elementObj.getValue();
405410
if (value != null) {
406-
values.add(value);
411+
values.add(value.trim());
407412
}
408413
}
409414
}

indexing-solr/src/test/java/edu/unc/lib/boxc/indexing/solr/filter/SetDescriptiveMetadataFilterTest.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,14 @@ public void testInventory() throws Exception {
139139
List<String> keywords = idb.getKeyword();
140140
assertTrue(keywords.contains("abc123"));
141141

142-
assertTrue(keywords.contains("Dissertation"));
142+
assertFalse(keywords.contains("Dissertation"));
143143
assertTrue(keywords.contains("text"));
144144
assertTrue(keywords.contains("note"));
145145
assertTrue(keywords.contains("phys note"));
146146
assertTrue(keywords.contains("Cited source"));
147147

148+
assertTrue(idb.getGenre().contains("Dissertation"));
149+
148150
assertEquals("citation text", idb.getCitation());
149151
}
150152

indexing-solr/src/test/resources/config/access/conf/elevate.xml

-32
This file was deleted.

indexing-solr/src/test/resources/config/access/conf/lang/stopwords_en.txt

-48
This file was deleted.

0 commit comments

Comments
 (0)