xdg  

simple search api (was Re: mimetype standardisation by testsets)

Jos van den Oever
Sun, 19 Nov 2006 03:19:53 -0800

Hi Mikkel,

Yes, the common dbus api is still something we need. I wanted to start
on the metadata standarization first, but we can do the searching api
in parallel. You make a good start in listing the available engines.
There might even be more. To coordinate we need a process that lists
the available search engines over dbus. An application should be able
to say: I want to search using a particular interface with the
available search engines.

The attached archive contains an effort to do two things:
- propose a very simple, common api for search engines
- implement such a coordinating daemon
 The code contains the daemon, a demo search application and a python
client to access it by finding the search engine over the
searchmanager.

The proposal for the search api is _very_ simple and I call for
application developers to see if the function calls in there are
sufficient.
Here i paste them for convenience:


interface org.freedesktop.search.simple

method startConfiguration ( )
Open a graphical interface for configuring of search tool.

method countHits ( in s query , out i count )
Count the number of instances of a file that match a particular query.
Input:
query
   The query being performed.
Output:
count
   The number of documents that match the query.

method query ( in s query, in i offset, in i limit , out as hits )
Perform a query and return a list of files that match the query.
Input:
query
   The query being performed.
offset
   The offset in the result list for the first returned result.
limit
   The maximum number of results that should be returned.

Output:
hits
   A list if filenames that are the result of the query.

method getProperties ( in as files,in a(sa(sas)) properties )
Get properties for the given files.
Input:
files
   A list of files for which properties should be returned.
properties
   The properties belonging to each file. Each property is a name
associated with a list of string values. The index of each property
map in the list corresponds to the index of the filename in the list
of files.

2006/11/3, Mikkel Kamstrup Erlandsen <[EMAIL PROTECTED]>:
> 2006/10/30, Jos van den Oever <
>
> jvdoever at gmail.com>:
>
> > To make it a bit more concrete (yes, you're probably not running
> > strigi svn) here's some code that generates the xml output using
> > kde3's metadata framework. I'm sure doing the same for other programs
>
>
> > is easy too. Then comes the hard task: making it all consistent.
>
> Here's already a new version of the kde3 code. I forgot to escape the
> special xml entities.
> It's probably a good idea to open up a project in svn for this stuff.
>
>
> If there's enough interest about it, that is. Can someone arrange
> that? The testcases should also go in there.
>
> Cheers,
> Jos
>

 Picking up the track from Gnome d-d-l I am interested in hearing if your
are also looking into a unifying dbus api for desktop indexers? Being a
deskbar developer I am greatly interested in this part of a potential spec.


If you are more on the metadata extraction part of it now (as it would seem)
I can try and make an overview of the current available apis, and try to
make some form of synthesis we can use as a base for further discussion...

Cheers,
Mikkel


PS: What indexers are around (and actively developed/maintained, and
actually has working code):

 - Tracker http://www.gnome.org/~jamiemcc/tracker/

 - Beagle http://beagle-project.org/
 - Strigi
http://www.vandenoever.info/software/strigi/
 - Pinot http://pinot.berlios.de/
 - GLSCube http://www.glscube.org/
 - Nepomuk
http://nepomuk-kde.semanticdesktop.org (do
they have any code?)

_______________________________________________
xdg mailing list
xdg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xdg



Attachment: org.freedesktop.search.tar.bz2
Description: BZip2 compressed data

_______________________________________________
xdg mailing list
xdg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xdg