* mu-store-xapian: fix indexing of body contents

This commit is contained in:
Dirk-Jan C. Binnema 2009-11-28 14:47:11 +02:00
parent 388164f232
commit 7d68e6fbbd
1 changed files with 12 additions and 7 deletions

View File

@ -124,7 +124,9 @@ static void
add_terms_values_string (Xapian::Document& doc, MuMsgGMime *msg, add_terms_values_string (Xapian::Document& doc, MuMsgGMime *msg,
const MuMsgField* field) const MuMsgField* field)
{ {
const char* str = mu_msg_gmime_get_field_string (msg, field); const char* str;
str = mu_msg_gmime_get_field_string (msg, field);
if (!str) if (!str)
return; return;
@ -138,7 +140,8 @@ add_terms_values_string (Xapian::Document& doc, MuMsgGMime *msg,
} else } else
doc.add_term(prefix + value); doc.add_term(prefix + value);
doc.add_value ((Xapian::valueno)mu_msg_field_id(field), value); doc.add_value ((Xapian::valueno)mu_msg_field_id(field),
value);
} }
static void static void
@ -149,14 +152,16 @@ add_terms_values_body (Xapian::Document& doc, MuMsgGMime *msg,
return; /* don't store encrypted bodies */ return; /* don't store encrypted bodies */
const char *str = mu_msg_gmime_get_body_text(msg); const char *str = mu_msg_gmime_get_body_text(msg);
if (!str) /* FIXME: html->html fallback */ // if (!str) /* FIXME: html->html fallback */
str = mu_msg_gmime_get_body_html(msg); // str = mu_msg_gmime_get_body_html(msg);
if (!str)
if (!str)
return; /* no body... */ return; /* no body... */
Xapian::TermGenerator termgen; Xapian::TermGenerator termgen;
termgen.index_text(str, 1, mu_msg_field_xapian_prefix(field));
termgen.set_document(doc); termgen.set_document(doc);
termgen.index_text(str, 1, mu_msg_field_xapian_prefix(field));
} }
struct _MsgDoc { struct _MsgDoc {