Class Hop

  • All Implemented Interfaces:
    ToXContent, ToXContentFragment

    public class Hop
    extends java.lang.Object
    implements ToXContentFragment
    A Hop represents one of potentially many stages in a graph exploration. Each Hop identifies one or more fields in which it will attempt to find terms that are significantly connected to the previous Hop. Each field is identified using a VertexRequest

    An example series of Hops on webserver logs would be:

    1. an initial Hop to find the top ten IPAddresses trying to access urls containing the word "admin"
    2. a secondary Hop to see which other URLs those IPAddresses were trying to access

    Optionally, each hop can contain a "guiding query" that further limits the set of documents considered. In our weblog example above we might choose to constrain the second hop to only look at log records that had a reponse code of 404.

    If absent, the list of VertexRequests is inherited from the prior Hop's list to avoid repeating the fields that will be examined at each stage.

    • Constructor Detail

      • Hop

        public Hop​(Hop parent)
    • Method Detail

      • getParentHop

        public Hop getParentHop()
      • addVertexRequest

        public VertexRequest addVertexRequest​(java.lang.String fieldName)
        Add a field in which this Hop will look for terms that are highly linked to previous hops and optionally the guiding query.
        Parameters:
        fieldName - a field in the chosen index
      • guidingQuery

        public void guidingQuery​(QueryBuilder queryBuilder)
        An optional parameter that focuses the exploration on documents that match the given query.
        Parameters:
        queryBuilder - any query
      • getEffectiveVertexRequests

        protected java.util.List<VertexRequest> getEffectiveVertexRequests()
      • getNumberVertexRequests

        public int getNumberVertexRequests()
      • getVertexRequest

        public VertexRequest getVertexRequest​(int requestNumber)