public void setMultiValued(String facetName) { facetConfig.setMultiValued( facetName, true ); }
public void setMultiValued(String facetName) { facetConfig.setMultiValued( facetName, true ); }
@Override public void configure(FacetsConfig config) { for(int i=0;i<maxDims;i++) { config.setHierarchical(Integer.toString(i), true); config.setMultiValued(Integer.toString(i), true); } }
/** Empty constructor */ public AssociationsFacetsExample() { config = new FacetsConfig(); config.setMultiValued("tags", true); config.setIndexFieldName("tags", "$tags"); config.setMultiValued("genre", true); config.setIndexFieldName("genre", "$genre"); }
private FacetsConfig getFacetsConfigurations(Map<String, ColumnDefinition> indices) { FacetsConfig config = new FacetsConfig(); for (Map.Entry<String, ColumnDefinition> entry : indices.entrySet()) { if (entry.getValue().isFacet()) { String indexField = entry.getKey(); config.setHierarchical(indexField, true); config.setMultiValued(indexField, true); } } return config; }
private void readMVFacets(NodeBuilder current, String prefix) { for (String childName : current.getChildNodeNames()) { NodeBuilder child = current.child(childName); super.setMultiValued(childName, child.getProperty(MULTIVALUED).getValue(Type.BOOLEAN)); if (prefix.length() > 0) { super.setMultiValued(prefix + "/" + childName, child.getProperty(MULTIVALUED).getValue(Type.BOOLEAN)); readMVFacets(child, childName); } } }
private void readMVFacets(NodeBuilder current, String prefix) { for (String childName : current.getChildNodeNames()) { NodeBuilder child = current.child(childName); super.setMultiValued(childName, child.getProperty(MULTIVALUED).getValue(Type.BOOLEAN)); if (prefix.length() > 0) { super.setMultiValued(prefix + "/" + childName, child.getProperty(MULTIVALUED).getValue(Type.BOOLEAN)); readMVFacets(child, childName); } } }
doc.add(new StringField(field, NULL_INDEX_VALUE, Store.NO)); } else { facetsConfig.setMultiValued(field, true); facetsConfig.setHierarchical(field, true); String values = obj.toString();
@Override public synchronized void setMultiValued(String dimName, boolean v) { super.setMultiValued(dimName, v); if (v) { NodeBuilder current = this.nodeBuilder; for (String p : PathUtils.elements(dimName)) { NodeBuilder child = current.child(p); if (!child.hasProperty(JcrConstants.JCR_PRIMARYTYPE)) { child.setProperty(JcrConstants.JCR_PRIMARYTYPE, JcrConstants.NT_UNSTRUCTURED, Type.NAME); } child.setProperty(MULTIVALUED, true); current = child; } } } }
@Override public synchronized void setMultiValued(String dimName, boolean v) { super.setMultiValued(dimName, v); if (v) { NodeBuilder current = this.nodeBuilder; for (String p : PathUtils.elements(dimName)) { NodeBuilder child = current.child(p); if (!child.hasProperty(JcrConstants.JCR_PRIMARYTYPE)) { child.setProperty(JcrConstants.JCR_PRIMARYTYPE, JcrConstants.NT_UNSTRUCTURED, Type.NAME); } child.setProperty(MULTIVALUED, true); current = child; } } } }
static void facetProvider(final String genericFieldName, final FieldTypeAbstract.Builder<SmartFieldDefinition> builder) { final SmartFieldProviders.FacetFieldProvider provider = new SmartFieldProviders.FacetFieldProvider(genericFieldName); builder.facetConfig(((fieldName, fieldMap, facetsConfig) -> { final String resolvedFieldName = provider.getTextName(fieldName); facetsConfig.setMultiValued(resolvedFieldName, true); facetsConfig.setIndexFieldName(resolvedFieldName, fieldMap.sortedSetFacetField); })); builder.fieldProvider(provider::textField); builder.queryFieldNameProvider(provider::getTextName); }
@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; }
config.setMultiValued("Author", true); IndexWriter indexWriter = new IndexWriter(directory, new IndexWriterConfig( new WhitespaceAnalyzer()));
@Override final Builder<CustomFieldDefinition> setup(Builder<CustomFieldDefinition> builder) { // Setup facets if (builder.definition.facetMultivalued != null) builder.facetConfig(((fieldName, fieldMap, facetsConfig) -> facetsConfig.setMultiValued(fieldName, builder.definition.facetMultivalued))); if (builder.definition.facetHierarchical != null) builder.facetConfig(((fieldName, fieldMap, facetsConfig) -> facetsConfig.setHierarchical(fieldName, builder.definition.facetHierarchical))); if (builder.definition.facetRequireDimCount != null) builder.facetConfig(((fieldName, fieldMap, facetsConfig) -> facetsConfig.setRequireDimCount(fieldName, builder.definition.facetRequireDimCount))); setupFields(builder); if (builder.definition.stored != null && builder.definition.stored) builder.storedFieldNameProvider(f -> f); builder.queryFieldNameProvider(f -> f); return builder; }