After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 160328 - IM tiles should lookup email using Lucene
IM tiles should lookup email using Lucene
Status: RESOLVED WONTFIX
Product: beagle
Classification: Other
Component: General
unspecified
Other Linux
: Normal normal
: Milestone 2
Assigned To: Beagle Bugs
Beagle Bugs
gnome[unmaintained]
Depends on:
Blocks:
 
 
Reported: 2004-12-03 10:44 UTC by Nat Friedman
Modified: 2018-07-03 09:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to use Lucene (18.80 KB, patch)
2005-05-16 18:17 UTC, Fredrik Hedberg
none Details | Review
Patch against r1.8 which implements this. (3.77 KB, patch)
2006-05-17 18:23 UTC, Joe Shaw
none Details | Review
Same patch against head using SafeProcess (4.00 KB, patch)
2006-05-20 18:46 UTC, Max Wiehle
needs-work Details | Review
patch against cvs head avoiding looking up aliases twice. (4.22 KB, patch)
2006-06-05 11:11 UTC, Max Wiehle
none Details | Review
Trying out a query throttling (5.20 KB, patch)
2006-06-05 14:11 UTC, Kevin Kubasik
rejected Details | Review
I love typos (5.26 KB, patch)
2006-06-05 14:41 UTC, Kevin Kubasik
none Details | Review

Description Nat Friedman 2004-12-03 10:44:35 UTC
Currently they use EDS
Comment 1 Fredrik Hedberg 2005-05-16 18:17:34 UTC
Created attachment 46505 [details] [review]
Patch to use Lucene
Comment 2 Joe Shaw 2005-11-04 20:34:26 UTC
Reassigning this back to beagle-bugs.

Fredrik: this has certainly rotten since may.  Do you still feel the approach is
right?  Is this something that could be fairly simply updated for CVS now?
Comment 3 Fredrik Hedberg 2005-11-05 17:38:25 UTC
Well, I guess in principle it's the way to go, the post-processing delegate is
already there (HitFilter), but we need a better way to do the actual query. Some
sort of generic way to query the daemon synchronous, internally, would be nice
to have.
Comment 4 Max Wiehle 2006-05-10 21:48:59 UTC
Is this still outstanding and up to date? 
Would like to work on it - just don't want to waste time trying to understand the code and then find out there is a totaly different concept now.
Comment 5 Joe Shaw 2006-05-11 17:37:14 UTC
Right now beagle-search isn't doing this at all (where as Best) did.

I had some proof-of-concept code for this, but I never really finished it.  Unfortunately I had done it on my laptop, and it just died.  If the hard drive hasn't totally bit it, I'll attach the code.
Comment 6 Lukas Lipka 2006-05-17 17:46:11 UTC
Changing the patch to obsolete state for now.
Comment 7 Joe Shaw 2006-05-17 18:23:14 UTC
Created attachment 65712 [details] [review]
Patch against r1.8 which implements this.

I was able to dig up this patch which I did some time ago.  It's against revision 1.8 (latest is 1.11), so it needs some work (like using SafeProcess) but it's a decent proof-of-concept.
Comment 8 Max Wiehle 2006-05-20 18:40:41 UTC
Tryed to create a working patch but ran into that:
http://bugzilla.gnome.org/show_bug.cgi?id=342439

Will attach patch as well. It compiles but i could not test it yet because it can'
t find the aliases - at least for jabber.

Also using SafeProcess - but i'm not familiar with that just imitated the Open call. So please do check it carefully.

Different approach might be looking for IM Propertys in Evolution Contact...
Comment 9 Max Wiehle 2006-05-20 18:46:35 UTC
Created attachment 65910 [details] [review]
Same patch against head using SafeProcess

Changed Joes Patch to work with head (1.12).
Ran into problem described above trying jabber logs
Comment 10 Lukas Lipka 2006-05-26 09:42:07 UTC
This is very slow for a very large set of IM hits. On slower systems it will make the system unresponsive for a quite a long time, while all the queries get executed.

Max: I'm wondering if this is something youre metadata browser is aiming for. Perhaps we could have a relationship between IMLog <-> Contact, if one exists.
Comment 11 Max Wiehle 2006-05-29 13:52:19 UTC
I also thought about directly linking IMLog and Contact information together. I was not thinking about linking a whole IMLog to a whole Contact but rather an IM address to an email address.
But this would mean that every new contact for a person has to be linked to all the old ones. So we would have O(n²) links if we want to link all to all.
So i would prefer to have a way to store things like
Person	has IM contact	"mawx@blabber.org"
Person	has email address	"mwiehle2@dontspam.no"
I thought about integrating leaftag and doing this by tagging them both with "person:Max Wiehle"

The main problem with this way of tagging is that it lacks some RDF features. The tags themselves can't be nodes. So storing something like:
file://.../beagle.tgz	was downloaded from	"http://www.beagle-project.org"
is not possible. And there is no way of expressing the relation besides putting it into the tag or URI like this: "downloaded_from:http..." or "mailto:mwiehle2...".

Creating the relationship for the whole IMLog has the disadvantage that is has to be created for every IMLog and i think the relationship really is between the address and a person. Using a Contact instead of an abstract person Tag sounds resonable though.


So i'll check if this can be done using MetadataStore.cs in the next months.
Comment 12 Max Wiehle 2006-06-05 11:11:35 UTC
Created attachment 66767 [details] [review]
patch against cvs head avoiding looking up aliases twice.

This is a current version of the patch above checking for aliases when writing the from column and adding email if available.
Comment 13 Kevin Kubasik 2006-06-05 13:34:48 UTC
Ok, heres the only thing about this, were sending like 20-30 queries, often all for the same e-mail address. I saw the email_cache Hashtable, but what about a second table which maps pending queries, and all queries of the same name arriving after that first one must wait for it to complete, then use its response. Since were slamming the disk and machine overall pretty hard and slowing results down.
Comment 14 Kevin Kubasik 2006-06-05 14:11:50 UTC
Created attachment 66774 [details] [review]
Trying out a query throttling

Ok, this is actually working for me really well, and keeps things much faster than before.... It's kinda hard to explain, so check it out, and well go from there...
Comment 15 Kevin Kubasik 2006-06-05 14:32:32 UTC
Just realized, this doesn't work at all...
Comment 16 Kevin Kubasik 2006-06-05 14:41:03 UTC
Created attachment 66775 [details] [review]
I love typos

Yeah, now this seems to work, so if someone has a chance, this one is pretty sweet.
Comment 17 Kevin Kubasik 2006-06-13 02:14:24 UTC
Ok, so the new Thunderbird backend is going to have address book support, so we should consider getting this to work with that index too..
Comment 18 Max Wiehle 2006-06-28 07:32:39 UTC
Looks really good to me. I only think this one in RequestEmail might cause problems:
	if (queries.Contains (alias)){
		AddAction (new TileAction (Catalog.GetString ("Email"), Email));
		return;
	}

As i see this just looks for a Query for the alias and than adds the email action. But what happens if we don't find an email address? We might end up with an Email link that does not work at all. 

Did not try it though.

Solving this might be pretty ugly i think - at least i don't have any idea for a clean solution yet.
Comment 19 André Klapper 2018-07-03 09:53:13 UTC
Beagle is not under active development anymore and had its last code changes in early 2011. Its codebase has been archived (see bug 796735):
https://gitlab.gnome.org/Archive/beagle/commits/master

"tracker" is an available alternative.

Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect
reality. Please feel free to reopen this ticket (or rather transfer the project
to GNOME Gitlab, as GNOME Bugzilla is deprecated) if anyone takes the
responsibility for active development again.