private String buildSearchTerm(FieldContext fieldContext, DocumentBuilderIndexedEntity documentBuilder, ConversionContext conversionContext) { if ( fieldContext.isIgnoreFieldBridge() ) { String stringform = value.toString(); if ( stringform == null ) { throw new SearchException( "When ignoreFieldBridge() is enabled, toString() on the value is used: the returned string must not be null: " + "on field " + fieldContext.getField() ); } return stringform; } else { // need to go via the appropriate bridge, because value is an object, eg boolean, and must be converted to a string first return fieldContext.objectToString( documentBuilder, value, conversionContext ); } }
private String buildSearchTerm(FieldContext fieldContext, DocumentBuilderIndexedEntity documentBuilder, ConversionContext conversionContext) { if ( fieldContext.isIgnoreFieldBridge() ) { String stringform = value.toString(); if ( stringform == null ) { throw new SearchException( "When ignoreFieldBridge() is enabled, toString() on the value is used: the returned string must not be null: " + "on field " + fieldContext.getField() ); } return stringform; } else { // need to go via the appropriate bridge, because value is an object, eg boolean, and must be converted to a string first return fieldContext.objectToString( documentBuilder, value, conversionContext ); } }
private static Query createKeywordRangeQuery(String fieldName, RangeQueryContext rangeContext, QueryBuildingContext queryContext, ConversionContext conversionContext, FieldContext fieldContext) { final AnalyzerReference analyzerReference = queryContext.getQueryAnalyzerReference(); final DocumentBuilderIndexedEntity documentBuilder = queryContext.getDocumentBuilder(); final String fromString = rangeContext.hasFrom() ? fieldContext.objectToString( documentBuilder, rangeContext.getFrom(), conversionContext ) : null; final String toString = rangeContext.hasTo() ? fieldContext.objectToString( documentBuilder, rangeContext.getTo(), conversionContext ) : null; String lowerTerm; String upperTerm; if ( analyzerReference.is( LuceneAnalyzerReference.class ) ) { final Analyzer queryAnalyzer = analyzerReference.unwrap( LuceneAnalyzerReference.class ).getAnalyzer(); lowerTerm = fromString == null ? null : Helper.getAnalyzedTerm( fieldName, fromString, "from", queryAnalyzer, fieldContext ); upperTerm = toString == null ? null : Helper.getAnalyzedTerm( fieldName, toString, "to", queryAnalyzer, fieldContext ); } else { lowerTerm = fromString == null ? null : fromString; upperTerm = toString == null ? null : toString; } return TermRangeQuery.newStringRange( fieldName, lowerTerm, upperTerm, !rangeContext.isExcludeFrom(), !rangeContext.isExcludeTo() ); }
private static Query createKeywordRangeQuery(String fieldName, RangeQueryContext rangeContext, QueryBuildingContext queryContext, ConversionContext conversionContext, FieldContext fieldContext) { final AnalyzerReference analyzerReference = queryContext.getQueryAnalyzerReference(); final DocumentBuilderIndexedEntity documentBuilder = queryContext.getDocumentBuilder(); final String fromString = rangeContext.hasFrom() ? fieldContext.objectToString( documentBuilder, rangeContext.getFrom(), conversionContext ) : null; final String toString = rangeContext.hasTo() ? fieldContext.objectToString( documentBuilder, rangeContext.getTo(), conversionContext ) : null; String lowerTerm; String upperTerm; if ( analyzerReference.is( LuceneAnalyzerReference.class ) ) { final Analyzer queryAnalyzer = analyzerReference.unwrap( LuceneAnalyzerReference.class ).getAnalyzer(); lowerTerm = fromString == null ? null : Helper.getAnalyzedTerm( fieldName, fromString, "from", queryAnalyzer, fieldContext ); upperTerm = toString == null ? null : Helper.getAnalyzedTerm( fieldName, toString, "to", queryAnalyzer, fieldContext ); } else { lowerTerm = fromString == null ? null : fromString; upperTerm = toString == null ? null : toString; } return TermRangeQuery.newStringRange( fieldName, lowerTerm, upperTerm, !rangeContext.isExcludeFrom(), !rangeContext.isExcludeTo() ); }