<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body><div style="font-family: sans-serif;"><div class="markdown" style="white-space: normal;">
<p dir="auto">On 16 Jun 2023, at 17:17, Bill Cole wrote:</p>
<blockquote style="margin: 0 0 5px; padding-left: 5px; border-left: 2px solid #777777; color: #777777;">
<p dir="auto">MM uses an indexing mechanism that appears to be custom-designed for the specific purpose of searching email. You can see the artifacts of that in ~/Library/Application Support/MailMate/Database.noindex/.</p>
</blockquote>
<p dir="auto">That looks much like a file-based approach to store data, which wouldn't scale if things are read on-demand and need to be parsed.</p>
<blockquote style="margin: 0 0 5px; padding-left: 5px; border-left: 2px solid #777777; color: #777777;">
<p dir="auto">Only Benny could conceivably explain the details,</p>
</blockquote>
<p dir="auto">Sure.</p>
<blockquote style="margin: 0 0 5px; padding-left: 5px; border-left: 2px solid #777777; color: #777777;">
<p dir="auto">but it seems to me to be unlikely that he would get much from ripping all that out and replacing it with SQLite or some other off-the-shelf tool.</p>
</blockquote>
<p dir="auto">Using a classical database with indexes and the mail information MM recognizes put into columns, should give mostly instant answers.</p>
<blockquote style="margin: 0 0 5px; padding-left: 5px; border-left: 2px solid #777777; color: #777777;">
<p dir="auto">One serious issue with indexing email is that email is highly divergent in data structure, and while you can do a simple index for basic standard mail metadata, "full text" and "all headers" search for mail is a nightmare because real-world mail breaks almost every rule theoretically governing it and it is not a simple matter to determine what is or is not body text. Email typically arrives with multiple alternative parts theoretically representing the same message, possibly QP or B64 encoded and usually including one version with HTML markup. And that markup can be bad, wrong, or even intentionally malicious.</p>
</blockquote>
<p dir="auto">Well, MM already handles all this, otherwise we couldn't use it as we do. Those parts are will known to MM.</p>
<blockquote style="margin: 0 0 5px; padding-left: 5px; border-left: 2px solid #777777; color: #777777;">
<p dir="auto">Very large mail stores are inherently tough to search.</p>
</blockquote>
<p dir="auto">After pre-processing all the mail mess, I don't think so. Searching in Gmail is fast. MM is already much better than other clients.</p>
<p dir="auto">IMO the use-case search <em>1+ million emails as fast as possible</em> is just not in scope for most of the clients.</p>
<p dir="auto">--</p>
<p dir="auto">Robert M. Münch</p>
<p dir="auto"><strong>Note</strong>: The .ASC file contains a digital PGP signature of this email. It can be used to check that this email is from me and was not changed since I wrote it. <strong>You can’t do anything else with this file.</strong></p>
<p dir="auto"><strong>Hinweis</strong>: Die .ASC Datei enthält eine digitale PGP Signatur dieser Email. Mit dieser kann überprüft werden, dass diese Email von mir geschrieben und seitdem nicht verändert wurde. <strong>Sie können mit der Datei ansonsten nichts weiter anfangen.</strong></p>

</div>
</div>
</body>

</html>