Page History
...
Code Block | ||||
---|---|---|---|---|
| ||||
String[] greetings = {"Hello World!", "Bonjour Monde!"}; document.addField("greeting", greetings); |
SolrServiceFileInfoPlugin
This is what our SolrServiceFileInfoPlugin
looks like:
Code Block | ||||
---|---|---|---|---|
| ||||
package org.dspace.discovery;
import org.apache.solr.common.SolrInputDocument;
import org.dspace.content.Bitstream;
import org.dspace.content.Bundle;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.core.Context;
import java.util.List;
public class SolrServiceFileInfoPlugin implements SolrServiceIndexPlugin
{
private static final String BUNDLE_NAME = "ORIGINAL";
private static final String SOLR_FIELD_NAME_FOR_FILENAMES = "original_bundle_filenames";
private static final String SOLR_FIELD_NAME_FOR_DESCRIPTIONS = "original_bundle_descriptions";
@Override
public void additionalIndex(Context context, DSpaceObject dso, SolrInputDocument document)
{
if (dso instanceof Item)
{
Item item = (Item) dso;
List<Bundle> bundles = item.getBundles();
if (bundles != null)
{
for (Bundle bundle : bundles)
{
String bundleName = bundle.getName();
if ((bundleName != null) && bundleName.equals(BUNDLE_NAME))
{
List<Bitstream> bitstreams = bundle.getBitstreams();
if (bitstreams != null)
{
for (Bitstream bitstream : bitstreams)
{
document.addField(SOLR_FIELD_NAME_FOR_FILENAMES, bitstream.getName());
String description = bitstream.getDescription();
if ((description != null) && (!description.isEmpty()))
{
document.addField(SOLR_FIELD_NAME_FOR_DESCRIPTIONS, description);
}
}
}
}
}
}
}
}
} |
Overview
Content Tools