Class GraphExploreRequest

    • Field Detail

      • NO_HOPS_ERROR_MESSAGE

        public static final java.lang.String NO_HOPS_ERROR_MESSAGE
        See Also:
        Constant Field Values
      • NO_VERTICES_ERROR_MESSAGE

        public static final java.lang.String NO_VERTICES_ERROR_MESSAGE
        See Also:
        Constant Field Values
    • Constructor Detail

      • GraphExploreRequest

        public GraphExploreRequest()
      • GraphExploreRequest

        public GraphExploreRequest​(java.lang.String... indices)
        Constructs a new graph request to run against the provided indices. No indices means it will run against all indices.
    • Method Detail

      • validate

        public java.util.Optional<ValidationException> validate()
        Description copied from interface: Validatable
        Perform validation. This method does not have to be overridden in the event that no validation needs to be done, or the validation was done during object construction time. A ValidationException that is not null is assumed to contain validation errors and will be thrown.
        Specified by:
        validate in interface Validatable
        Returns:
        An Optional ValidationException that contains a list of validation errors.
      • types

        public java.lang.String[] types()
      • routing

        public java.lang.String routing()
      • timeout

        public GraphExploreRequest timeout​(TimeValue timeout)
        Graph exploration can be set to timeout after the given period. Search operations involved in each hop are limited to the remaining time available but can still overrun due to the nature of their "best efforts" timeout support. When a timeout occurs partial results are returned.
        Parameters:
        timeout - a TimeValue object which determines the maximum length of time to spend exploring
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • sampleSize

        public void sampleSize​(int maxNumberOfDocsPerHop)
        The number of top-matching documents that are considered during each hop (default is SamplerAggregationBuilder.DEFAULT_SHARD_SAMPLE_SIZE Very small values (less than 50) may not provide sufficient weight-of-evidence to identify significant connections between terms.

        Very large values (many thousands) are not recommended with loosely defined queries (fuzzy queries or those with many OR clauses). This is because any useful signals in the best documents are diluted with irrelevant noise from low-quality matches. Performance is also typically better with smaller samples as there are less look-ups required for background frequencies of terms found in the documents

        Parameters:
        maxNumberOfDocsPerHop - shard-level sample size in documents
      • sampleSize

        public int sampleSize()
      • sampleDiversityField

        public void sampleDiversityField​(java.lang.String name)
        Optional choice of single-value field on which to diversify sampled search results
      • sampleDiversityField

        public java.lang.String sampleDiversityField()
      • maxDocsPerDiversityValue

        public void maxDocsPerDiversityValue​(int maxDocs)
        Optional number of permitted docs with same value in sampled search results. Must also declare which field using sampleDiversityField
      • maxDocsPerDiversityValue

        public int maxDocsPerDiversityValue()
      • useSignificance

        public void useSignificance​(boolean value)
        Controls the choice of algorithm used to select interesting terms. The default value is true which means terms are selected based on significance (see the SignificantTerms aggregation) rather than popularity (using the TermsAggregator).
        Parameters:
        value - true if the significant_terms algorithm should be used.
      • useSignificance

        public boolean useSignificance()
      • returnDetailedInfo

        public void returnDetailedInfo​(boolean value)
        Return detailed information about vertex frequencies as part of JSON results - defaults to false
        Parameters:
        value - true if detailed information is required in JSON responses
      • returnDetailedInfo

        public boolean returnDetailedInfo()
      • createNextHop

        public Hop createNextHop​(QueryBuilder guidingQuery)
        Add a stage in the graph exploration. Each hop represents a stage of querying elasticsearch to identify terms which can then be connnected to other terms in a subsequent hop.
        Parameters:
        guidingQuery - optional choice of query which influences which documents are considered in this stage
        Returns:
        a Hop object that holds settings for a stage in the graph exploration
      • getHopNumbers

        public int getHopNumbers()
      • getHop

        public Hop getHop​(int hopNumber)