com.groupdocs.search.options

Class FuzzySearchOptions

    • Constructor Detail

      • FuzzySearchOptions

        protected FuzzySearchOptions()

        Initializes a new instance of the FuzzySearchOptions class.

    • Method Detail

      • getEnabled

        public final boolean getEnabled()

        Gets a value indicating whether fuzzy search feature is enabled. The default value is false.

        Returns:
        A value indicating whether fuzzy search feature is enabled.
      • setEnabled

        public final void setEnabled(boolean value)

        Sets a value indicating whether fuzzy search feature is enabled. The default value is false.

        Parameters:
        value - A value indicating whether fuzzy search feature is enabled.
      • getFuzzyAlgorithm

        public final FuzzyAlgorithm getFuzzyAlgorithm()

        Gets the fuzzy search algorithm. The currently available fuzzy search algorithms are SimilarityLevel and TableDiscreteFunction. The default value is an instance of SimilarityLevel with a similarity level value of 0.5.

        Returns:
        The fuzzy search algorithm.

        The example demonstrates how to set the fuzzy search algorithm.

         String indexFolder = "c:\\MyIndex\\";
         String documentsFolder = "c:\\MyDocuments\\";
         String query = "Einstein";
         Index index = new Index(indexFolder); // Creating an index in the specified folder
         index.add(documentsFolder); // Indexing documents from the specified folder
         SearchOptions options = new SearchOptions();
         options.getFuzzySearch().setEnabled(true); // Enabling the fuzzy search
         options.getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(1, new Step(5, 2), new Step(8, 3))); // Creating the fuzzy search algorithm
         // This function specifies 1 as the maximum number of mistakes for words from 1 to 4 characters.
         // It specifies 2 as the maximum number of mistakes for words from 5 to 7 characters.
         // It specifies 3 as the maximum number of mistakes for words from 8 and more characters.
         SearchResult result = index.search(query, options); // Search in index
         
      • setFuzzyAlgorithm

        public final void setFuzzyAlgorithm(FuzzyAlgorithm value)

        Sets the fuzzy search algorithm. The currently available fuzzy search algorithms are SimilarityLevel and TableDiscreteFunction. The default value is an instance of SimilarityLevel with a similarity level value of 0.5.

        Parameters:
        value - The fuzzy search algorithm.

        The example demonstrates how to set the fuzzy search algorithm.

         String indexFolder = "c:\\MyIndex\\";
         String documentsFolder = "c:\\MyDocuments\\";
         String query = "Einstein";
         Index index = new Index(indexFolder); // Creating an index in the specified folder
         index.add(documentsFolder); // Indexing documents from the specified folder
         SearchOptions options = new SearchOptions();
         options.getFuzzySearch().setEnabled(true); // Enabling the fuzzy search
         options.getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(1, new Step(5, 2), new Step(8, 3))); // Creating the fuzzy search algorithm
         // This function specifies 1 as the maximum number of mistakes for words from 1 to 4 characters.
         // It specifies 2 as the maximum number of mistakes for words from 5 to 7 characters.
         // It specifies 3 as the maximum number of mistakes for words from 8 and more characters.
         SearchResult result = index.search(query, options); // Search in index
         
      • getOnlyBestResults

        public final boolean getOnlyBestResults()

        Gets a value indicating whether only the best results will be returned. The default value is false.

        Returns:
        true if only the best results will be returned; otherwise false.
      • setOnlyBestResults

        public final void setOnlyBestResults(boolean value)

        Sets a value indicating whether only the best results will be returned. The default value is false.

        Parameters:
        value - true if only the best results will be returned; otherwise false.
      • getOnlyBestResultsRange

        public final byte getOnlyBestResultsRange()

        Gets the maximum exceeding of the minimum number of mistakes that are found. The default value is 0.

        Returns:
        The maximum exceeding of the minimum number of mistakes found.
      • setOnlyBestResultsRange

        public final void setOnlyBestResultsRange(byte value)

        Sets the maximum exceeding of the minimum number of mistakes that are found. The default value is 0.

        Parameters:
        value - The maximum exceeding of the minimum number of mistakes found.
      • getConsiderTranspositions

        public final boolean getConsiderTranspositions()

        Gets a value indicating whether the fuzzy search algorithm must consider transposition of two adjacent characters as a single mistake. The default value is true.

        Returns:
        true if the fuzzy search algorithm considers transpositions; otherwise false.
      • setConsiderTranspositions

        public final void setConsiderTranspositions(boolean value)

        Sets a value indicating whether the fuzzy search algorithm must consider transposition of two adjacent characters as a single mistake. The default value is true.

        Parameters:
        value: - true if the fuzzy search algorithm considers transpositions; otherwise false.
      • getMaxMistakeCount

        protected static byte getMaxMistakeCount(FuzzySearchOptions options,
                              int termLength)