2006/11/24, Fabrice Colin &lt;<a href="mailto:fabrice.colin@gmail.com">fabrice.colin@gmail.com</a>&gt;:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On 11/24/06, Mikkel Kamstrup Erlandsen &lt;<a href="mailto:mikkel.kamstrup@gmail.com">mikkel.kamstrup@gmail.com</a>&gt; wrote:<br>&gt; 2006/11/23, Fabrice Colin &lt;<a href="mailto:fabrice.colin@gmail.com">fabrice.colin@gmail.com
</a>&gt;:<br>&gt; &gt; What Magnus suggests may be useful for document 'sources' or 'groups' (for<br>&gt; &gt; lack of a better name), eg &quot;Documents&quot;, &quot;Applications&quot;, &quot;Contacts&quot;,<br>&gt; &gt; &quot;Conversations&quot; etc... -as offered by some existing personal search
<br>&gt; systems-<br>&gt; &gt; which may or may not map to individual indexes (that mapping being<br>&gt; irrelevant).<br>&gt;<br>&gt; That was exactly what I meant to cover with the &quot;group&quot; switch. Fx. the<br>&gt; query &quot;fabrice group:contacts&quot; would return you. Searching without a
<br>&gt; specified group would return matches from all groups. Perhaps the wiki is a<br>&gt; bit unclear here...<br>&gt;<br>The Wiki is clear enough. It's just that it may be useful to provide<br>the consumer<br>application with a list of supported groups... unless we dictate which
<br>groups should<br>be supported by all engines.</blockquote><div><br><br>Well, my idea was to come up with a spec at some point in the mid-term
future (after the simple api is complete). On top of that the spec
should of course be extensible so that backends can have custom groups
- which implies the need for a method to do runtime introspection. I
just don't think the belongs in a simple search api.
<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; &gt; Well, AFAIK, dbus allows complex structures like arrays or dictionaries.
<br>&gt;<br>&gt; Yeah, but that really only accounts as collections of simple data types in<br>&gt; my book. What I meant was just that you can't have Query object, like fx<br>&gt; Lucene does, and pass that over the wire. Not in a desktop neutral way at
<br>&gt; least - or please correct me if I'm wrong! :-)<br>&gt;<br>Hmmm it depends on. As the dbus specification says, you can have &quot;array of<br>array of array of ... struct of struct of struct of ...&quot;, which is
<br>probably flexible enough<br>to pass all the data held by a Query object.</blockquote><div><br><br>Yeah, we can hold the data of a query object, but you can't assign any
methods to it (unless you export it over dbus (which I don't think is a
good idea)). Methods to construct a query programmatically would have
to reside in a toolkit-dependent lib I think.
<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Right you are. I was a bit wasted last night when I&nbsp;&nbsp;answered Magnus (sorry)
<br>&gt; - I just thought her deserved an answer sooner rather than later.<br>&gt;<br>No worries ;-)<br><br>&gt; The question is then if this info should be stored in&nbsp;&nbsp;the manager daemon or<br>&gt; the search engine. As I consider it more or less a design goal that the
<br>&gt; daemon (or lib or what ever we end up with), should be expendable, I don't<br>&gt; think such info should lie with the managing object. Also if this info would<br>&gt; reside with the managing object that would also mean each query should go
<br>&gt; through the managing interface, and I don't think I'm totally hooked on that<br>&gt; idea.<br>&gt;<br>&gt; To avoid code duplication we could develop a small lib or other dbus service<br>&gt; to *optionally* handle these issues. I'm reluctant to impose any dependency
<br>&gt; on the implementing engines.<br>&gt;<br>We could have an optional prefix (a switch-type, according to the<br>draft) for language,<br>so that this information is carried by the query string.<br>A braindead example : if the engine supports &quot;language&quot;, &quot;the moose
<br>language:english&quot;<br>is interpreted as a query for &quot;moose&quot;, while &quot;the moose<br>language:swedish&quot; is a query<br>for moose tea :-)</blockquote><div><br><br>I think that is a good idea. Default to having the backend deal
with all this and have a switch to override the runtime stemming. <br><br><br>Cheers,<br>Mikkel&nbsp;</div><br></div><br>