From 1efecaef1f867cb218366e2b4ab4b901fdd2835f Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Sat, 4 Jul 2026 14:54:45 +0900 Subject: 途中経過コミット MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/domain/search.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/domain/search.c') diff --git a/src/domain/search.c b/src/domain/search.c index 0f9179d..10109a7 100644 --- a/src/domain/search.c +++ b/src/domain/search.c @@ -458,6 +458,12 @@ tiny_search_index_add(tiny_search_index_t *index, tiny_search_index_free(delta); return false; } + if (message->metadata.summary + && !index_text_direct(delta, message->metadata.summary, message_index)) + { + tiny_search_index_free(delta); + return false; + } for (tag = 0; tag < message->metadata.tag_count; ++tag) { if (!index_text_direct(delta, message->metadata.tags[tag], message_index)) @@ -609,6 +615,26 @@ tiny_search_score(const char *query, const tiny_message_t *message) } free(tag_points); } + if (!found && message->metadata.summary) + { + uint32_t *summary_points = NULL; + size_t summary_count = 0; + if (decode_codepoints(message->metadata.summary, &summary_points, &summary_count)) + { + for (message_offset = 0; message_offset + width <= summary_count; ++message_offset) + { + if (memcmp(query_points + query_offset, + summary_points + message_offset, + width * sizeof(uint32_t)) + == 0) + { + found = true; + break; + } + } + } + free(summary_points); + } if (found) { matches++; -- cgit v1.2.3