2006/11/19, Jos van den Oever &lt;<a href="mailto:jvdoever@gmail.com">jvdoever@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;">
2006/11/19, Mikkel Kamstrup Erlandsen &lt;<a href="mailto:mikkel.kamstrup@gmail.com">mikkel.kamstrup@gmail.com</a>&gt;:<br><br>&gt; org.freedesktop.search.simple.countHits ( in s query , out<br>&gt; i count ):<br>&gt;&nbsp;&nbsp;Why is this necesary. Is it to accomodate use cases such as suggestion
<br>&gt; popups like below[1], and reduce the dbus wire traffic for multiple calls?<br>Not just that, it is also required for paging ( page 1, page 2, etc)<br>and lines like 'Found X hits.'</blockquote><div><br>Ah, ofcourse :-) 
<br></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; Type text in entry: net<br>&gt; Get a popup with:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; net&nbsp;&nbsp; (7801)
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; network (6578)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; netto (17)<br>No, this is another case. Here you see numbers for each keyword, but<br>where do you get the keywords from? For something like that you'd need<br>a call like:
<br>expandWord(in s word, out a(si) wordlist)</blockquote><div><br>Well, it could be based on an expandQuery() method, but applications could also list old searches with hit counts. Ie. in the above example I would have searched for net, network and netto at some point in the past. There are numerous ways to obtain suggestions... 
<br></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; org.freedesktop.search.simple.query ( in s query, in i<br>&gt; offset, in i limit , out as hits ):
<br>&gt;&nbsp;&nbsp;What is the general consumer of this method? I don't see many. Only stuff<br>&gt; like deskbar-applet or a general search tool would use it. Maybe adding a<br>&gt; parameter to specify a list of groups the hits should match (or maybe
<br>&gt; specifying mimetypes). This argument could be &quot;*&quot; or something to get all<br>&gt; kinds of results. I suggest changing the signature to:<br>&gt; query ( in s query, in as groups, in i offset, in i limit , out as hits )
<br>Interesting suggestion. It does make things quite a bit more<br>complicated. Because you'd need to define the groups. We've not talked<br>about the query language yet ( we need to, but i'm assuming we're<br>going to use something similar to what Beagle and Strigi already use,
<br>which is almost the same), but you also just expand the query like<br>this: &quot;holiday&quot; -&gt; &quot;holiday mimetype:video/*&quot; before sending it to the<br>search-engine. That seems much better defined than a list of vaguely
<br>termed groups. I do not object to having such names for the user to<br>see though.</blockquote><div><br>Yeah,&nbsp; there are a few decisions to make here.&nbsp; How much to put in the query language and how much to put in the api. I think and expressive query language is a good idea. However your example above doesn't fir all cases well. What If I want to search for all &quot;Documents&quot; containing the word &quot;parser&quot;. The Documents group could fx. be files of mime types:
<br><br>application/msword<br>application/pdf<br>application/postscript<br>application/vnd.ms-excel<br>application/vnd.oasis.opendocument.text<br>application/vnd.sun.xml.writer<br>text/plain<br>text/html<br></div><br>calling &quot;parser mimetype:application/*&quot; would probably not yield the desired results. Maybe also having an option to search like &quot;parser group:documents&quot; would be good? The Spotlight API has the notion of groups like this for example.
<br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; How about live queries? Maybe that should be supported in another interface<br>
&gt; than the simple one.<br>Yes it should. Maybe we should try to get this running first. Live<br>queries are rather tricky.</blockquote><div><br>Yeah, simple queries a definitely to priority right now. It is important that we don't forget the bigger picture when designing the interface though, so we need to take future work into consideration.
<br></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; org.freedesktop.search.simple.getProperties ( in as<br>&gt; files,in a(sa(sas)) properties ):
<br>&gt;&nbsp;&nbsp;This seems good. It is a bit toward a metadata interface, but I think it is<br>&gt; good here to so apps don't need tons interfaces to work with. At some point<br>&gt; it there should be a specification on how to name and format these
<br>&gt; properties/metadata.<br>Small correction, it should be:<br> org.freedesktop.search.simple.getProperties ( in as files,in a(sa{sas}) )<br>where one can argue about whether or not to send back the filename<br>again. It's not needed, but also does not take much bandwidth.
</blockquote><div><br>Agreed. <br></div><br><br>Cheers,<br>Mikkel<br></div>