private String constructAnalyzedPropertyName(String pname) { if (definition.getVersion().isAtLeast(IndexFormatVersion.V2)){ return FieldNames.createAnalyzedFieldName(pname); } return pname; }
/** * @param field Index field for which number of indexed documents are to be return * @return number of indexed documents (without subtracting potentially deleted ones) * for the given {@code field}.<br> * -1: if index codec doesn't store doc-count-for-field statistics, OR <br> * reader threw an exception while reading fields, OR <br> * exception thrown while reading count for the field, OR <br> * doc-count is asked for a non-property field. */ public int getDocCountFor(String field) { if (!safelyInitialized) { return -1; } int docCntForField = isPropertyField(field) ? 0 : -1; if (numDocsForField.containsKey(field)) { docCntForField = numDocsForField.get(field); } return docCntForField; }
private static StoredField newBinarySimilarityField(String name, byte[] bytes) { return new StoredField(FieldNames.createBinSimilarityFieldName(name), bytes); }
static String getLuceneFieldName(@Nullable String p, PlanResult pr) { if (p == null) { return FieldNames.FULLTEXT; } if (isNodePath(p)) { if (pr.isPathTransformed()) { p = PathUtils.getName(p); } else { //Get rid of /* as aggregated fulltext field name is the //node relative path p = FieldNames.createFulltextFieldName(PathUtils.getParentPath(p)); } } else { if (pr.isPathTransformed()) { p = PathUtils.getName(p); } p = FieldNames.createAnalyzedFieldName(p); } if ("*".equals(p)) { p = FieldNames.FULLTEXT; } return p; }
private static Field newSimilarityField(String name, String value) { return new TextField(FieldNames.createSimilarityFieldName(name), value, Field.Store.YES); }
private static Sort getSort(IndexPlan plan) { List<OrderEntry> sortOrder = plan.getSortOrder(); if (sortOrder == null || sortOrder.isEmpty()) { return null; } sortOrder = removeNativeSort(sortOrder); List<SortField> fieldsList = newArrayListWithCapacity(sortOrder.size()); PlanResult planResult = getPlanResult(plan); for (int i = 0; i < sortOrder.size(); i++) { OrderEntry oe = sortOrder.get(i); PropertyDefinition pd = planResult.getOrderedProperty(i); boolean reverse = oe.getOrder() != OrderEntry.Order.ASCENDING; String propName = oe.getPropertyName(); propName = FieldNames.createDocValFieldName(propName); fieldsList.add(new SortField(propName, toLuceneSortType(oe, pd), reverse)); } if (fieldsList.isEmpty()) { return null; } else { return new Sort(fieldsList.toArray(new SortField[0])); } }
try { DefaultSortedSetDocValuesReaderState state = new DefaultSortedSetDocValuesReaderState( searcher.getIndexReader(), FieldNames.createFacetFieldName(facetField)); FacetsCollector.search(searcher, query, null,1, Sort.INDEXORDER, facetsCollector);
public static Field newFulltextField(String name, String value, boolean stored) { return new TextField(FieldNames.createFulltextFieldName(name), value, stored ? YES : NO); }
static String getLuceneFieldName(@Nullable String p, PlanResult pr) { if (p == null) { return FieldNames.FULLTEXT; } if (isNodePath(p)) { if (pr.isPathTransformed()) { p = PathUtils.getName(p); } else { //Get rid of /* as aggregated fulltext field name is the //node relative path p = FieldNames.createFulltextFieldName(PathUtils.getParentPath(p)); } } else { if (pr.isPathTransformed()) { p = PathUtils.getName(p); } p = FieldNames.createAnalyzedFieldName(p); } if ("*".equals(p)) { p = FieldNames.FULLTEXT; } return p; }
private static Field newSimilarityField(String name, String value) { return new TextField(FieldNames.createSimilarityFieldName(name), value, Field.Store.YES); }
private static Sort getSort(IndexPlan plan) { List<OrderEntry> sortOrder = plan.getSortOrder(); if (sortOrder == null || sortOrder.isEmpty()) { return null; } sortOrder = removeNativeSort(sortOrder); List<SortField> fieldsList = newArrayListWithCapacity(sortOrder.size()); PlanResult planResult = getPlanResult(plan); for (int i = 0; i < sortOrder.size(); i++) { OrderEntry oe = sortOrder.get(i); PropertyDefinition pd = planResult.getOrderedProperty(i); boolean reverse = oe.getOrder() != OrderEntry.Order.ASCENDING; String propName = oe.getPropertyName(); propName = FieldNames.createDocValFieldName(propName); fieldsList.add(new SortField(propName, toLuceneSortType(oe, pd), reverse)); } if (fieldsList.isEmpty()) { return null; } else { return new Sort(fieldsList.toArray(new SortField[0])); } }
try { DefaultSortedSetDocValuesReaderState state = new DefaultSortedSetDocValuesReaderState( searcher.getIndexReader(), FieldNames.createFacetFieldName(facetField)); FacetsCollector.search(searcher, query, null,1, Sort.INDEXORDER, facetsCollector);
public static Field newFulltextField(String name, String value, boolean stored) { return new TextField(FieldNames.createFulltextFieldName(name), value, stored ? YES : NO); }
private String constructAnalyzedPropertyName(String pname) { if (definition.getVersion().isAtLeast(IndexFormatVersion.V2)){ return FieldNames.createAnalyzedFieldName(pname); } return pname; }
/** * @param field Index field for which number of indexed documents are to be return * @return number of indexed documents (without subtracting potentially deleted ones) * for the given {@code field}.<br> * -1: if index codec doesn't store doc-count-for-field statistics, OR <br> * reader threw an exception while reading fields, OR <br> * exception thrown while reading count for the field, OR <br> * doc-count is asked for a non-property field. */ public int getDocCountFor(String field) { if (!safelyInitialized) { return -1; } int docCntForField = isPropertyField(field) ? 0 : -1; if (numDocsForField.containsKey(field)) { docCntForField = numDocsForField.get(field); } return docCntForField; }
for (PropertyDefinition pd : sp) { log.debug("adding similarity clause for property {}", pd.name); String similarityFieldName = FieldNames.createSimilarityFieldName(pd.name); String fvString = doc.get(similarityFieldName); if (fvString != null && fvString.trim().length() > 0) {
private static StoredField newBinarySimilarityField(String name, byte[] bytes) { return new StoredField(FieldNames.createBinSimilarityFieldName(name), bytes); }
@Override protected boolean indexTypeOrderedFields(Document doc, String pname, int tag, PropertyState property, PropertyDefinition pd) { String name = FieldNames.createDocValFieldName(pname); boolean fieldAdded = false; Field f = null;
@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; }
BooleanQuery in = new BooleanQuery(); for (PropertyDefinition pd : indexingRule.getNodeScopeAnalyzedProps()) { Query q = tokenToQuery(text, FieldNames.createAnalyzedFieldName(pd.name), analyzer); q.setBoost(pd.boost); in.add(q, BooleanClause.Occur.SHOULD);