Example usage for org.apache.solr.common.params SolrParams getFieldParam

List of usage examples for org.apache.solr.common.params SolrParams getFieldParam

Introduction

In this page you can find the example usage for org.apache.solr.common.params SolrParams getFieldParam.

Prototype

public String getFieldParam(String field, String param) 

Source Link

Document

returns the String value of the field parameter, "f.field.param", or the value for "param" if that is not set.

Usage

From source file:com.o19s.solr.swan.highlight.SwanHighlighter.java

License:Apache License

private SolrFragmentsBuilder getSolrFragmentsBuilder(String fieldName, SolrParams params) {
    String fb = params.getFieldParam(fieldName, HighlightParams.FRAGMENTS_BUILDER);
    SolrFragmentsBuilder solrFb = fragmentsBuilders.get(fb);
    if (solrFb == null) {
        throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Unknown fragmentsBuilder: " + fb);
    }/*from w  w w.  j a  v a2 s .c  om*/
    return solrFb;
}

From source file:com.o19s.solr.swan.highlight.SwanHighlighter.java

License:Apache License

private FragListBuilder getFragListBuilderOverride(String fieldName, SolrParams params) {

    FragListBuilder fragListBuilder;/*from w  w w.j ava2s  . co m*/
    String fb = params.getFieldParam(fieldName, HighlightParams.FRAG_LIST_BUILDER).toLowerCase();
    if (fb.equals("single")) {
        fragListBuilder = new SingleFragListBuilder();
    } else {
        fragListBuilder = new com.o19s.solr.swan.highlight.SimpleFragListBuilder();
    }
    return fragListBuilder;
}

From source file:com.o19s.solr.swan.highlight.SwanHighlighter.java

License:Apache License

private void alternateField(NamedList docSummaries, SolrParams params, Document doc, String fieldName) {
    String alternateField = params.getFieldParam(fieldName, HighlightParams.ALTERNATE_FIELD);
    if (alternateField != null && alternateField.length() > 0) {
        IndexableField[] docFields = doc.getFields(alternateField);
        List<String> listFields = new ArrayList<String>();
        for (IndexableField field : docFields) {
            if (field.binaryValue() == null)
                listFields.add(field.stringValue());
        }/*from  w ww. java 2 s.com*/

        String[] altTexts = listFields.toArray(new String[listFields.size()]);

        if (altTexts != null && altTexts.length > 0) {
            Encoder encoder = getEncoder(fieldName, params);
            int alternateFieldLen = params.getFieldInt(fieldName, HighlightParams.ALTERNATE_FIELD_LENGTH, 0);
            List<String> altList = new ArrayList<String>();
            int len = 0;
            for (String altText : altTexts) {
                if (alternateFieldLen <= 0) {
                    altList.add(encoder.encodeText(altText));
                } else {
                    altList.add(len + altText.length() > alternateFieldLen
                            ? encoder.encodeText(altText.substring(0, alternateFieldLen - len))
                            : encoder.encodeText(altText));
                    len += altText.length();
                    if (len >= alternateFieldLen)
                        break;
                }
            }
            docSummaries.add(fieldName, altList);
        }
    }
}