[tracker] tracker-search: Warn about using stopwords as search terms
- From: Martyn James Russell <mr src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker] tracker-search: Warn about using stopwords as search terms
- Date: Fri, 15 Jan 2010 15:46:10 +0000 (UTC)
commit dd413866582f89b7b249596d4da78d3794df724d
Author: Martyn Russell <martyn lanedo com>
Date: Fri Jan 15 15:45:56 2010 +0000
tracker-search: Warn about using stopwords as search terms
src/libtracker-common/tracker-language.c | 4 +-
src/tracker-utils/tracker-search.c | 41 ++++++++++++++++++++++++++++++
2 files changed, 43 insertions(+), 2 deletions(-)
---
diff --git a/src/libtracker-common/tracker-language.c b/src/libtracker-common/tracker-language.c
index 324317e..aef5893 100644
--- a/src/libtracker-common/tracker-language.c
+++ b/src/libtracker-common/tracker-language.c
@@ -283,7 +283,7 @@ language_set_stopword_list (TrackerLanguage *language,
priv = GET_PRIV (language);
/* Set up stopwords list */
- g_message ("Setting up stopword list for language code:'%s'", language_code);
+ /* g_message ("Setting up stopword list for language code:'%s'", language_code); */
stopword_filename = language_get_stopword_filename (language_code);
language_add_stopwords (language, stopword_filename);
@@ -295,7 +295,7 @@ language_set_stopword_list (TrackerLanguage *language,
g_free (stopword_filename);
}
- g_message ("Setting up stemmer for language code:'%s'", language_code);
+ /* g_message ("Setting up stemmer for language code:'%s'", language_code); */
stem_language = tracker_language_get_name_by_code (language_code);
stem_language_lower = g_ascii_strdown (stem_language, -1);
diff --git a/src/tracker-utils/tracker-search.c b/src/tracker-utils/tracker-search.c
index 21f1bc3..c1195e6 100644
--- a/src/tracker-utils/tracker-search.c
+++ b/src/tracker-utils/tracker-search.c
@@ -774,6 +774,10 @@ main (int argc, char **argv)
{
TrackerClient *client;
GOptionContext *context;
+ TrackerLanguage *language;
+ GHashTable *stop_words;
+ const gchar *stop_word_found;
+ gchar **p;
gchar *summary;
setlocale (LC_ALL, "");
@@ -829,6 +833,43 @@ main (int argc, char **argv)
return EXIT_FAILURE;
}
+ g_type_init ();
+
+ if (!g_thread_supported ()) {
+ g_thread_init (NULL);
+ }
+
+ /* Check terms are not stopwords */
+ language = tracker_language_new (NULL);
+ stop_words = tracker_language_get_stop_words (language);
+
+ for (p = terms, stop_word_found = NULL; *p && !stop_word_found; p++) {
+ gpointer data;
+
+ data = g_hash_table_lookup (stop_words, *p);
+ if (data) {
+ stop_word_found = *p;
+ }
+ }
+
+ if (stop_word_found) {
+ g_printerr (_("Search term '%s' is a stop word."),
+ stop_word_found);
+ g_printerr ("\n\n");
+ g_printerr (_("Stop words are common words which are "
+ "ignored during the indexing process."));
+ g_printerr ("\n");
+ g_printerr (_("This means this search term will never "
+ "be found when matching FTS entries."));
+ g_printerr ("\n\n");
+
+ g_option_context_free (context);
+ g_object_unref (language);
+
+ return EXIT_FAILURE;
+ }
+
+ g_object_unref (language);
g_option_context_free (context);
client = tracker_client_new (0, G_MAXINT);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]