Example usage for org.apache.solr.search QueryParsing F

List of usage examples for org.apache.solr.search QueryParsing F

Introduction

In this page you can find the example usage for org.apache.solr.search QueryParsing F.

Prototype

String F

To view the source code for org.apache.solr.search QueryParsing F.

Click Source Link

Usage

From source file:com.alipay.tiansuan.solrplugin.SelectInLocalFileQParserPlugin.java

License:Apache License

@Override
public QParser createParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req) {
    return new QParser(qstr, localParams, params, req) {
        @Override/*from w ww.  j  a  v a 2 s  . c o  m*/
        public Query parse() throws ParseException {
            try {
                String file = localParams.get(QueryParsing.V);
                String field = localParams.get(QueryParsing.F);

                SchemaField sf = req.getSchema().getField(field);
                FieldType ft = sf.getType();
                if (ft instanceof StrField) {
                    return new StringSelectInQuery<String>(file, field, new HdfsToSet.TransString());
                }
                if (ft instanceof TrieField) {
                    TrieField tft = (TrieField) ft;
                    TrieTypes cdt = tft.getType();
                    if (cdt.equals(TrieTypes.INTEGER)) {
                        return new NumericSelectInQuery<Integer>(field, tft.getPrecisionStep(), DataType.INT,
                                new HdfsToSet.TransInt(), file);
                    }
                    if (cdt.equals(TrieTypes.LONG)) {
                        return new NumericSelectInQuery<Long>(field, tft.getPrecisionStep(), DataType.LONG,
                                new HdfsToSet.TransLong(), file);
                    }

                    if (cdt.equals(TrieTypes.FLOAT)) {
                        return new NumericSelectInQuery<Float>(field, tft.getPrecisionStep(), DataType.FLOAT,
                                new HdfsToSet.TransFloat(), file);
                    }

                    if (cdt.equals(TrieTypes.DOUBLE)) {
                        return new NumericSelectInQuery<Double>(field, tft.getPrecisionStep(), DataType.DOUBLE,
                                new HdfsToSet.TransDouble(), file);
                    }

                    if (cdt.equals(TrieTypes.DATE)) {
                        return new NumericSelectInQuery<Long>(field, tft.getPrecisionStep(), DataType.LONG,
                                new HdfsToSet.TransDate(), file);
                    }
                }

                throw new ParseException("file type error");

            } catch (Exception e) {
                throw new ParseException(e.toString());
            }
        }
    };
}

From source file:com.alipay.tiansuan.solrplugin.StringCotainsQParserPlugin.java

License:Apache License

@Override
public QParser createParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req) {
    return new QParser(qstr, localParams, params, req) {
        @Override/*from   w ww .j  av  a2 s.c  om*/
        public Query parse() throws ParseException {
            try {
                String contains = localParams.get(QueryParsing.V);
                String field = localParams.get(QueryParsing.F);
                return new StringContainsQuery(contains.split(","), field);

            } catch (Exception e) {
                throw new ParseException(e.toString());
            }
        }
    };
}