]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-fts: Removed "simple" normalizer.
authorTimo Sirainen <tss@iki.fi>
Sat, 9 May 2015 11:09:37 +0000 (14:09 +0300)
committerTimo Sirainen <tss@iki.fi>
Sat, 9 May 2015 11:09:37 +0000 (14:09 +0300)
It translated input to titlecase, which wasn't suitable for snowball
stemming that wanted lowercase input. Since that doesn't work, there's
probably no good for the existence of this (perhaps in future it's replaced
by unicode-aware lowercaser).

src/lib-fts/Makefile.am
src/lib-fts/fts-filter-normalizer-simple.c [deleted file]
src/lib-fts/fts-filter.c
src/lib-fts/fts-filter.h

index 9f5f000bd3c5ad7dfb15b9681fb106a217a545f3..e4a04f17c7a4acc6b45884f4f4c72490c1913ae1 100644 (file)
@@ -62,7 +62,6 @@ libfts_la_LIBADD = \
 libfts_la_SOURCES = \
        fts-filter.c \
        fts-filter-normalizer-icu.c \
-       fts-filter-normalizer-simple.c \
        fts-filter-stopwords.c \
        fts-filter-stemmer-snowball.c \
        fts-language.c \
diff --git a/src/lib-fts/fts-filter-normalizer-simple.c b/src/lib-fts/fts-filter-normalizer-simple.c
deleted file mode 100644 (file)
index 002045d..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright (c) 2015 Dovecot authors, see the included COPYING file */
-
-#include "lib.h"
-#include "unichar.h"
-#include "str.h"
-#include "fts-filter.h"
-#include "fts-filter-private.h"
-#include "fts-language.h"
-
-struct fts_filter_normalizer_simple {
-       struct fts_filter filter;
-       string_t *str;
-};
-
-static bool
-fts_filter_normalizer_simple_supports(const struct fts_language *lang ATTR_UNUSED)
-{
-       return TRUE;
-}
-
-static void
-fts_filter_normalizer_simple_destroy(struct fts_filter *_filter)
-{
-       struct fts_filter_normalizer_simple *filter =
-               (struct fts_filter_normalizer_simple *)_filter;
-
-       str_free(&filter->str);
-       i_free(filter);
-}
-
-static int
-fts_filter_normalizer_simple_create(const struct fts_language *lang ATTR_UNUSED,
-                                   const char *const *settings,
-                                   struct fts_filter **filter_r,
-                                   const char **error_r)
-{
-       struct fts_filter_normalizer_simple *filter;
-
-       if (settings[0] != NULL) {
-               *error_r = t_strdup_printf("Unknown setting: %s", settings[0]);
-               return -1;
-       }
-       filter = i_new(struct fts_filter_normalizer_simple, 1);
-       filter->filter = *fts_filter_normalizer_simple;
-       filter->str = str_new(default_pool, 128);
-
-       *filter_r = &filter->filter;
-       return 0;
-}
-
-static int
-fts_filter_normalizer_simple_filter(struct fts_filter *_filter,
-                                   const char **token,
-                                   const char **error_r ATTR_UNUSED)
-{
-       struct fts_filter_normalizer_simple *filter =
-               (struct fts_filter_normalizer_simple *)_filter;
-
-       str_truncate(filter->str, 0);
-       if (uni_utf8_to_decomposed_titlecase(*token, strlen(*token),
-                                            filter->str) < 0)
-               i_panic("fts-normalizer-simple: Token is not valid UTF-8: %s", *token);
-       *token = str_c(filter->str);
-       return 1;
-}
-
-static const struct fts_filter_vfuncs normalizer_filter_vfuncs = {
-       fts_filter_normalizer_simple_supports,
-       fts_filter_normalizer_simple_create,
-       fts_filter_normalizer_simple_filter,
-       fts_filter_normalizer_simple_destroy
-};
-
-static const struct fts_filter fts_filter_normalizer_simple_real = {
-       .class_name = SIMPLE_NORMALIZER_FILTER_NAME,
-       .v = &normalizer_filter_vfuncs
-};
-
-const struct fts_filter *fts_filter_normalizer_simple = &fts_filter_normalizer_simple_real;
index 42f671ea78bf2f4fec91d72fbc11a29ec010fc59..2ffbfdb2c4c4950e029f25d678e402a6c484bcb2 100644 (file)
@@ -15,7 +15,6 @@ void fts_filters_init(void)
        fts_filter_register(fts_filter_stopwords);
        fts_filter_register(fts_filter_stemmer_snowball);
        fts_filter_register(fts_filter_normalizer_icu);
-       fts_filter_register(fts_filter_normalizer_simple);
 }
 
 void fts_filters_deinit(void)
index 11b8726e6ae5861ea28a9506df71f818602fa4c5..07aa4bae2ba5b5a66c4ac2852ee8b48299136994 100644 (file)
@@ -33,10 +33,6 @@ extern const struct fts_filter *fts_filter_stemmer_snowball;
 extern const struct fts_filter *fts_filter_normalizer_icu;
 #define ICU_NORMALIZER_FILTER_NAME "normalizer-icu"
 
-/* Normalization using i;unicode-casemap (RFC 5051) */
-extern const struct fts_filter *fts_filter_normalizer_simple;
-#define SIMPLE_NORMALIZER_FILTER_NAME "normalizer-simple"
-
 /* Register all built-in filters. */
 void fts_filters_init(void);
 void fts_filters_deinit(void);