summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionFuzzyBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionFuzzyBuilder.java')
-rw-r--r--core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionFuzzyBuilder.java135
1 files changed, 0 insertions, 135 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionFuzzyBuilder.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionFuzzyBuilder.java
deleted file mode 100644
index de6bf1365d..0000000000
--- a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionFuzzyBuilder.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Licensed to Elasticsearch under one or more contributor
- * license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright
- * ownership. Elasticsearch licenses this file to you under
- * the Apache License, Version 2.0 (the "License"); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.elasticsearch.search.suggest.completion;
-
-import org.apache.lucene.search.suggest.analyzing.XFuzzySuggester;
-import org.elasticsearch.common.unit.Fuzziness;
-import org.elasticsearch.common.xcontent.ToXContent;
-import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.search.suggest.SuggestBuilder;
-
-import java.io.IOException;
-
-/**
- * A form of {@link CompletionSuggestionBuilder} that supports fuzzy queries allowing
- * matches on typos.
- * Various settings control when and how fuzziness is counted.
- */
-public class CompletionSuggestionFuzzyBuilder extends SuggestBuilder.SuggestionBuilder<CompletionSuggestionFuzzyBuilder> {
-
- public CompletionSuggestionFuzzyBuilder(String name) {
- super(name, "completion");
- }
-
- private Fuzziness fuzziness = Fuzziness.ONE;
- private boolean fuzzyTranspositions = XFuzzySuggester.DEFAULT_TRANSPOSITIONS;
- private int fuzzyMinLength = XFuzzySuggester.DEFAULT_MIN_FUZZY_LENGTH;
- private int fuzzyPrefixLength = XFuzzySuggester.DEFAULT_NON_FUZZY_PREFIX;
- private boolean unicodeAware = XFuzzySuggester.DEFAULT_UNICODE_AWARE;
-
- public Fuzziness getFuzziness() {
- return fuzziness;
- }
-
- /**
- * Sets the level of fuzziness used to create suggestions using a {@link Fuzziness} instance.
- * The default value is {@link Fuzziness#ONE} which allows for an "edit distance" of one.
- */
- public CompletionSuggestionFuzzyBuilder setFuzziness(Fuzziness fuzziness) {
- this.fuzziness = fuzziness;
- return this;
- }
-
- public boolean isFuzzyTranspositions() {
- return fuzzyTranspositions;
- }
-
- /**
- * Sets if transpositions (swapping one character for another) counts as one character
- * change or two.
- * Defaults to true, meaning it uses the fuzzier option of counting transpositions as
- * a single change.
- */
- public CompletionSuggestionFuzzyBuilder setFuzzyTranspositions(boolean fuzzyTranspositions) {
- this.fuzzyTranspositions = fuzzyTranspositions;
- return this;
- }
-
- public int getFuzzyMinLength() {
- return fuzzyMinLength;
- }
-
- /**
- * Sets the minimum length of input string before fuzzy suggestions are returned, defaulting
- * to 3.
- */
- public CompletionSuggestionFuzzyBuilder setFuzzyMinLength(int fuzzyMinLength) {
- this.fuzzyMinLength = fuzzyMinLength;
- return this;
- }
-
- public int getFuzzyPrefixLength() {
- return fuzzyPrefixLength;
- }
-
- /**
- * Sets the minimum length of the input, which is not checked for fuzzy alternatives, defaults to 1
- */
- public CompletionSuggestionFuzzyBuilder setFuzzyPrefixLength(int fuzzyPrefixLength) {
- this.fuzzyPrefixLength = fuzzyPrefixLength;
- return this;
- }
-
- public boolean isUnicodeAware() {
- return unicodeAware;
- }
-
- /**
- * Set to true if all measurements (like edit distance, transpositions and lengths) are in unicode
- * code points (actual letters) instead of bytes. Default is false.
- */
- public CompletionSuggestionFuzzyBuilder setUnicodeAware(boolean unicodeAware) {
- this.unicodeAware = unicodeAware;
- return this;
- }
-
- @Override
- protected XContentBuilder innerToXContent(XContentBuilder builder, ToXContent.Params params) throws IOException {
- builder.startObject("fuzzy");
-
- if (fuzziness != Fuzziness.ONE) {
- fuzziness.toXContent(builder, params);
- }
- if (fuzzyTranspositions != XFuzzySuggester.DEFAULT_TRANSPOSITIONS) {
- builder.field("transpositions", fuzzyTranspositions);
- }
- if (fuzzyMinLength != XFuzzySuggester.DEFAULT_MIN_FUZZY_LENGTH) {
- builder.field("min_length", fuzzyMinLength);
- }
- if (fuzzyPrefixLength != XFuzzySuggester.DEFAULT_NON_FUZZY_PREFIX) {
- builder.field("prefix_length", fuzzyPrefixLength);
- }
- if (unicodeAware != XFuzzySuggester.DEFAULT_UNICODE_AWARE) {
- builder.field("unicode_aware", unicodeAware);
- }
-
- builder.endObject();
- return builder;
- }
-}