try { DefaultSortedSetDocValuesReaderState state = new DefaultSortedSetDocValuesReaderState( searcher.getIndexReader(), FieldNames.createFacetFieldName(facetField)); FacetsCollector.search(searcher, query, null,1, Sort.INDEXORDER, facetsCollector);
try { DefaultSortedSetDocValuesReaderState state = new DefaultSortedSetDocValuesReaderState( searcher.getIndexReader(), FieldNames.createFacetFieldName(facetField)); FacetsCollector.search(searcher, query, null,1, Sort.INDEXORDER, facetsCollector);
@Override protected boolean indexFacetProperty(Document doc, int tag, PropertyState property, String pname) { String facetFieldName = FieldNames.createFacetFieldName(pname); getFacetsConfig().setIndexFieldName(pname, facetFieldName); boolean fieldAdded = false; try { if (tag == Type.STRINGS.tag() && property.isArray()) { getFacetsConfig().setMultiValued(pname, true); Iterable<String> values = property.getValue(Type.STRINGS); for (String value : values) { if (value != null && value.length() > 0) { doc.add(new SortedSetDocValuesFacetField(pname, value)); } } fieldAdded = true; } else if (tag == Type.STRING.tag()) { String value = property.getValue(Type.STRING); if (value.length() > 0) { doc.add(new SortedSetDocValuesFacetField(pname, value)); fieldAdded = true; } } } catch (Throwable e) { log.warn("[{}] Ignoring facet property. Could not convert property {} of type {} to type {} for path {}", getIndexName(), pname, Type.fromTag(property.getType().tag(), false), Type.fromTag(tag, false), path, e); } return fieldAdded; }
@Override protected boolean indexFacetProperty(Document doc, int tag, PropertyState property, String pname) { String facetFieldName = FieldNames.createFacetFieldName(pname); getFacetsConfig().setIndexFieldName(pname, facetFieldName); boolean fieldAdded = false; try { if (tag == Type.STRINGS.tag() && property.isArray()) { getFacetsConfig().setMultiValued(pname, true); Iterable<String> values = property.getValue(Type.STRINGS); for (String value : values) { if (value != null && value.length() > 0) { doc.add(new SortedSetDocValuesFacetField(pname, value)); } } fieldAdded = true; } else if (tag == Type.STRING.tag()) { String value = property.getValue(Type.STRING); if (value.length() > 0) { doc.add(new SortedSetDocValuesFacetField(pname, value)); fieldAdded = true; } } } catch (Throwable e) { log.warn("[{}] Ignoring facet property. Could not convert property {} of type {} to type {} for path {}", getIndexName(), pname, Type.fromTag(property.getType().tag(), false), Type.fromTag(tag, false), path, e); } return fieldAdded; }