Interface RSearchAsync

All Known Subinterfaces:
RSearch
All Known Implementing Classes:
RedissonSearch

public interface RSearchAsync
Asynchronous API for RediSearch module
Author:
Nikita Koksharov
  • Method Details

    • createIndexAsync

      RFuture<Void> createIndexAsync(String indexName, IndexOptions options, FieldIndex... fields)
      Creates an index.

      Code example:

                   search.create("idx", IndexOptions.defaults()
                                           .on(IndexType.HASH)
                                           .prefix(Arrays.asList("doc:")),
                                           FieldIndex.text("t1"),
                                           FieldIndex.tag("t2").withSuffixTrie());
       
      Parameters:
      indexName - index name
      options - index options
      fields - fields
    • searchAsync

      RFuture<SearchResult> searchAsync(String indexName, String query, QueryOptions options)
      Executes search over defined index using defined query.

      Code example:

       SearchResult r = s.search("idx", "*", QueryOptions.defaults()
                                                         .returnAttributes(new ReturnAttribute("t1"), new ReturnAttribute("t2")));
       
      Parameters:
      indexName - index name
      query - query value
      options - query options
      Returns:
      search result
    • aggregateAsync

      RFuture<AggregationResult> aggregateAsync(String indexName, String query, AggregationOptions options)
      Executes aggregation over defined index using defined query.

      Code example:

       AggregationResult r = s.aggregate("idx", "*", AggregationOptions.defaults()
                                                                       .load("t1", "t2"));
       
      Parameters:
      indexName - index name
      query - query value
      options - aggregation options
      Returns:
      aggregation result
    • addAliasAsync

      RFuture<Void> addAliasAsync(String alias, String indexName)
      Adds alias to defined index name
      Parameters:
      alias - alias value
      indexName - index name
    • delAliasAsync

      RFuture<Void> delAliasAsync(String alias)
      Deletes index alias
      Parameters:
      alias - alias value
    • updateAliasAsync

      RFuture<Void> updateAliasAsync(String alias, String indexName)
      Adds alias to defined index name. Re-assigns the alias if it was used before with a different index.
      Parameters:
      alias - alias value
      indexName - index name
    • alterAsync

      RFuture<Void> alterAsync(String indexName, boolean skipInitialScan, FieldIndex... fields)
      Adds a new attribute to the index
      Parameters:
      indexName - index name
      skipInitialScan - doesn't scan the index if true
      fields - field indexes
    • getConfigAsync

      RFuture<Map<String,String>> getConfigAsync(String parameter)
      Returns configuration map by defined parameter name
      Parameters:
      parameter - parameter name
      Returns:
      configuration map
    • setConfigAsync

      RFuture<Void> setConfigAsync(String parameter, String value)
      Sets configuration value by the parameter name
      Parameters:
      parameter - parameter name
      value - parameter value
    • delCursorAsync

      RFuture<Void> delCursorAsync(String indexName, long cursorId)
      Deletes cursor by index name and id
      Parameters:
      indexName - index name
      cursorId - cursor id
    • readCursorAsync

      RFuture<AggregationResult> readCursorAsync(String indexName, long cursorId)
      Returns next results by index name and cursor id
      Parameters:
      indexName - index name
      cursorId - cursor id
      Returns:
      aggregation result
    • readCursorAsync

      RFuture<AggregationResult> readCursorAsync(String indexName, long cursorId, int count)
      Returns next results by index name, cursor id and results size
      Parameters:
      indexName - index name
      cursorId - cursor id
      count - results size
      Returns:
      aggregation result
    • addDictAsync

      RFuture<Long> addDictAsync(String dictionary, String... terms)
      Adds defined terms to the dictionary
      Parameters:
      dictionary - dictionary name
      terms - terms
      Returns:
      number of new terms
    • delDictAsync

      RFuture<Long> delDictAsync(String dictionary, String... terms)
      Deletes defined terms from the dictionary
      Parameters:
      dictionary - dictionary name
      terms - terms
      Returns:
      number of deleted terms
    • dumpDictAsync

      RFuture<List<String>> dumpDictAsync(String dictionary)
      Returns terms stored in the dictionary
      Parameters:
      dictionary - dictionary name
      Returns:
      terms
    • dropIndexAsync

      RFuture<Void> dropIndexAsync(String indexName)
      Deletes index by name and associated documents. Associated documents are deleted asynchronously. Method infoAsync(String) can be used to check for process completion.
      Parameters:
      indexName - index name
    • dropIndexAndDocumentsAsync

      RFuture<Void> dropIndexAndDocumentsAsync(String indexName)
      Deletes index by name and associated documents
      Parameters:
      indexName - index name
    • infoAsync

      RFuture<IndexInfo> infoAsync(String indexName)
      Returns index info by name
      Parameters:
      indexName - index name
      Returns:
      index info
    • spellcheckAsync

      RFuture<Map<String,Map<String,Double>>> spellcheckAsync(String indexName, String query, SpellcheckOptions options)
      Executes spell checking by defined index name and query. Returns a map of misspelled terms and their score.
       Mapinvalid input: '<'String, Mapinvalid input: '<'String, Double>> res = s.spellcheck("idx", "Hocke sti", SpellcheckOptions.defaults()
                                                                                                .includedTerms("name"));
       
      Parameters:
      indexName - index name
      query - query
      options - spell checking options
      Returns:
      map of misspelled terms and their score
    • dumpSynonymsAsync

      RFuture<Map<String,List<String>>> dumpSynonymsAsync(String indexName)
      Returns synonyms mapped by word by defined index name
      Parameters:
      indexName - index name
      Returns:
      synonyms map
    • updateSynonymsAsync

      RFuture<Void> updateSynonymsAsync(String indexName, String synonymGroupId, String... terms)
      Updates synonyms
      Parameters:
      indexName - index name
      synonymGroupId - synonym group id
      terms - terms
    • getIndexesAsync

      RFuture<List<String>> getIndexesAsync()
      Returns list of all created indexes
      Returns:
      list of indexes