tracker r1956 - in branches/indexer-split: . src/tracker-indexer
- From: ifrade svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1956 - in branches/indexer-split: . src/tracker-indexer
- Date: Mon, 28 Jul 2008 15:19:43 +0000 (UTC)
Author: ifrade
Date: Mon Jul 28 15:19:43 2008
New Revision: 1956
URL: http://svn.gnome.org/viewvc/tracker?rev=1956&view=rev
Log:
Indexing file contents
Modified:
branches/indexer-split/ChangeLog
branches/indexer-split/src/tracker-indexer/tracker-indexer.c
Modified: branches/indexer-split/src/tracker-indexer/tracker-indexer.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-indexer.c (original)
+++ branches/indexer-split/src/tracker-indexer/tracker-indexer.c Mon Jul 28 15:19:43 2008
@@ -762,6 +762,44 @@
schedule_flush (indexer, FALSE);
}
+static void
+index_text_contents (TrackerIndexer *indexer,
+ gint service_id,
+ gint service_type,
+ const gchar *text)
+{
+ GHashTable *parsed = NULL;
+ GList *words = NULL, *iter;
+ gint weight;
+
+ parsed = tracker_parser_text (parsed,
+ text,
+ 1,
+ indexer->private->language,
+ tracker_config_get_max_words_to_index (indexer->private->config),
+ tracker_config_get_max_word_length (indexer->private->config),
+ tracker_config_get_min_word_length (indexer->private->config),
+ tracker_config_get_enable_stemmer (indexer->private->config),
+ FALSE);
+
+ words = g_hash_table_get_keys (parsed);
+
+ for (iter = words; iter != NULL; iter = iter->next) {
+
+ weight = GPOINTER_TO_INT (g_hash_table_lookup (parsed, (gchar *)iter->data));
+
+ tracker_index_add_word (indexer->private->index,
+ (gchar *)iter->data,
+ service_id,
+ service_type,
+ weight);
+ }
+
+ tracker_parser_text_free (parsed);
+
+}
+
+
static gboolean
process_file (TrackerIndexer *indexer,
PathInfo *info)
@@ -821,6 +859,13 @@
text = tracker_indexer_module_file_get_text (info->module, info->file);
if (text) {
+ /* Save in the index */
+ index_text_contents (indexer,
+ id,
+ tracker_service_get_id (service_def),
+ text);
+
+ /* Save in the DB */
tracker_db_set_text (service_def, id, text);
g_free (text);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]