Elasticsearch7SearchIndex implements SearchIndex, SearchIndexWithVertexPropertyCountByValue { @Override public void clearCache() { indexInfosLock.writeLock().lock(); try { this.indexInfos = null; this.indexInfosLastSize = -1; } finally { indexInfosLock.writeLock().unlock(); } } Elasticsearch7SearchIndex(Graph graph, GraphConfiguration config); PropertyNameVisibilitiesStore getPropertyNameVisibilitiesStore(); Set<String> getIndexNamesFromElasticsearch(); @Override void clearCache(); @Override void addElement(
        Graph graph,
        Element element,
        Set<String> additionalVisibilities,
        Set<String> additionalVisibilitiesToDelete,
        Authorizations authorizations
    ); @Override void updateElement(
        Graph graph,
        ExistingElementMutation<TElement> elementMutation,
        Authorizations authorizations
    ); @Override void addElementExtendedData(
        Graph graph,
        ElementLocation elementLocation,
        Iterable<ExtendedDataMutation> extendedData,
        Iterable<AdditionalExtendedDataVisibilityAddMutation> additionalExtendedDataVisibilities,
        Iterable<AdditionalExtendedDataVisibilityDeleteMutation> additionalExtendedDataVisibilityDeletes,
        Authorizations authorizations
    ); @Override void deleteExtendedData(Graph graph, ExtendedDataRowId rowId, Authorizations authorizations); @Override void deleteExtendedData(
        Graph graph,
        ElementLocation elementLocation,
        String tableName,
        String row,
        String columnName,
        String key,
        Visibility visibility,
        Authorizations authorizations
    ); void alterExtendedDataElementTypeVisibility(
        Graph graph,
        ElementMutation<T> elementMutation,
        Iterable<ExtendedDataRow> rows,
        Visibility oldVisibility,
        Visibility newVisibility
    ); @Override void addExtendedData(
        Graph graph,
        ElementLocation sourceElementLocation,
        Iterable<ExtendedDataRow> extendedDatas,
        Authorizations authorizations
    ); @Override void alterElementVisibility(
        Graph graph,
        ExistingElementMutation<T> elementMutation,
        Visibility oldVisibility,
        Visibility newVisibility,
        Authorizations authorizations
    ); @Override void markElementHidden(Graph graph, Element element, Visibility visibility, Authorizations authorizations); @Override void markElementVisible(
        Graph graph,
        ElementLocation elementLocation,
        Visibility visibility,
        Authorizations authorizations
    ); @Override void markPropertyHidden(
        Graph graph,
        ElementLocation elementLocation,
        Property property,
        Visibility visibility,
        Authorizations authorizations
    ); @Override void markPropertyVisible(
        Graph graph,
        ElementLocation elementLocation,
        Property property,
        Visibility visibility,
        Authorizations authorizations
    ); void handleBulkFailure(BulkItem<?> bulkItem, BulkItemResponse bulkItemResponse, AtomicBoolean retry); boolean supportsExactMatchSearch(PropertyDefinition propertyDefinition); VertexiumMetricRegistry getMetricsRegistry(); String getPropertyVisibilityHashFromPropertyName(String propertyName); String getAggregationName(String name); String replaceFieldnameDots(String fieldName); String[] getAllMatchingPropertyNames(Graph graph, String propertyName, Authorizations authorizations); String[] addHashesToPropertyName(String propertyName, Collection<String> hashes); Collection<String> getQueryableExtendedDataVisibilities(Graph graph, Authorizations authorizations); Collection<String> getQueryableElementTypeVisibilityPropertyNames(Graph graph, Authorizations authorizations); Collection<String> getQueryablePropertyNames(Graph graph, Authorizations authorizations); @Override void deleteElement(Graph graph, ElementId elementId, Authorizations authorizations); @Override SearchIndexSecurityGranularity getSearchIndexSecurityGranularity(); @Override GraphQuery queryGraph(Graph graph, String queryString, Authorizations authorizations); @Override VertexQuery queryVertex(Graph graph, Vertex vertex, String queryString, Authorizations authorizations); @Override Query queryExtendedData(Graph graph, Element element, String tableName, String queryString, Authorizations authorizations); @Override SimilarToGraphQuery querySimilarTo(Graph graph, String[] similarToFields, String similarToText, Authorizations authorizations); @Override boolean isFieldLevelSecuritySupported(); @Override boolean isDeleteElementSupported(); void addPropertyToIndex(
        Graph graph,
        IndexInfo indexInfo,
        String propertyName,
        Object propertyValue,
        Visibility propertyVisibility
    ); @Override @Deprecated Map<Object, Long> getVertexPropertyCountByValue(Graph graph, String propertyName, Authorizations authorizations); IndexInfo ensureIndexCreatedAndInitialized(String indexName); @Override void deleteProperty(Graph graph, Element element, PropertyDescriptor property, Authorizations authorizations); @Override void deleteProperties(Graph graph, Element element, Collection<PropertyDescriptor> propertyList, Authorizations authorizations); @Override void addElements(Graph graph, Iterable<? extends Element> elements, Authorizations authorizations); @Override MultiVertexQuery queryGraph(Graph graph, String[] vertexIds, String queryString, Authorizations authorizations); @Override boolean isQuerySimilarToTextSupported(); @Override void flush(Graph graph); @Override void shutdown(); @Override boolean isFieldBoostSupported(); IndexInfo addPropertiesToIndex(Graph graph, Element element, Iterable<Property> properties); @Override synchronized void truncate(Graph graph); @Override void drop(Graph graph); IndexSelectionStrategy getIndexSelectionStrategy(); Client getClient(); ElasticsearchSearchIndexConfiguration getConfig(); IdStrategy getIdStrategy(); QueryStringTransformer getQueryStringTransformer(); IndexRefreshTracker getIndexRefreshTracker(); QueryBuilder getAdditionalVisibilitiesFilter(Authorizations authorizations); boolean isPropertyInIndex(Graph graph, String propertyName, Visibility visibility); boolean isPropertyInIndex(Graph graph, String propertyName); String[] getPropertyNames(Graph graph, String propertyName, Authorizations authorizations); static final String ELEMENT_ID_FIELD_NAME; static final String ELEMENT_TYPE_FIELD_NAME; static final String VISIBILITY_FIELD_NAME; static final String HIDDEN_VERTEX_FIELD_NAME; static final String HIDDEN_PROPERTY_FIELD_NAME; static final String OUT_VERTEX_ID_FIELD_NAME; static final String IN_VERTEX_ID_FIELD_NAME; static final String EDGE_LABEL_FIELD_NAME; static final String EXTENDED_DATA_TABLE_NAME_FIELD_NAME; static final String EXTENDED_DATA_TABLE_ROW_ID_FIELD_NAME; static final String EXTENDED_DATA_TABLE_COLUMN_VISIBILITIES_FIELD_NAME; static final String ADDITIONAL_VISIBILITY_FIELD_NAME; static final String ADDITIONAL_VISIBILITY_METADATA_PREFIX; static final String EXACT_MATCH_FIELD_NAME; static final String EXACT_MATCH_PROPERTY_NAME_SUFFIX; static final String GEO_PROPERTY_NAME_SUFFIX; static final String GEO_POINT_PROPERTY_NAME_SUFFIX; static final String LOWERCASER_NORMALIZER_NAME; static final int EXACT_MATCH_IGNORE_ABOVE_LIMIT; static final String FIELDNAME_DOT_REPLACEMENT; static final int MAX_RETRIES; static final String AGGREGATION_HAS_NOT_SUFFIX; static final Pattern AGGREGATION_NAME_PATTERN; }
@Test @Override public void testGraphQuerySortOnPropertyThatHasNoValuesInTheIndex() { super.testGraphQuerySortOnPropertyThatHasNoValuesInTheIndex(); getSearchIndex().clearCache(); QueryResultsIterable<Vertex> vertices = graph.query(AUTHORIZATIONS_A).sort("age", SortDirection.ASCENDING).vertices(); Assert.assertEquals(2, count(vertices)); }