Indexing a database

I need to index an sqlite database. What do I do to do this

I think I need to create a protocol handler which will represent a store - that store being my database file, and an IFilter to return data from the database.
I understand there are two types of protocol handler - Asynchronous Pluggable Protocols and A Registered Application . What type of protocol handler does WDS use
If I am understanding right, this protocol handler is known as a store in WDS, how is the store\handler registered with WDS Will the protocol handler will be specific to my database - ie it will represent my db as a store, not all sqlite.
I was thinking about bastardizing CodeProject - A Simple protocol for my protocol handler. However this is C# CLR - is there likely to be a problem with unmanaged code running managed code

When do things happen in WDS Is this right
At some stage the WDS gatherer will start to build the index.
WDS loads its registered protocol handlers.
My protocol handler will access the database and return a series of key\value pairs to the indexer.
Where does the IFilter fit in


Where to start
Do I need to create a new store
Using Database and Template for IFilters
Introduction to Protocol Handlers
How to create a custom protocol handler and content source for the protocol handler in SharePoint Portal Server 2003
(what do wds and sharepoint have in common )


Answer this question

Indexing a database

  • williambeaker

    Basically APPs have nothing to do with WDS PHs, despite that both rely on URLs for adressing items.
    Sample address: sqlite://Database=MyDB&Table=Doc&Entry=544554

    APPs are used to open store items from the windows shell. You develop APP and WDS PH independently.
    But it is good to have an APP too to open DB items from WDS query result.

    A WDS PH is only used to crawl stores of items to be indexed.
    Yes an IFilter is a COM object that feeds meta data to WDS during crawling.

    I would start here: http://addins.msn.com/devguide.aspx

    There are currently no samples for WDS PHs available. It is very complex!
    I stopped development until the WDS 3.0 SDK is available.

    Good luck!

    Martin


  • carol chen


    Martin Koppmann wrote:
    Basically APPs have nothing to do with WDS PHs, despite that both rely on URLs for addressing items. Sample address: sqlite://Database=MyDB&Table=Doc&Entry=544554

    Is it not preferable for PH's to be Hierarchal and return it's 'subdirectories'

    (http://addins.msn.com/devguide.aspx)
    I was thinking about this - wouldn't a better address be

    sqlite://<path>/<file>/<doc>/<entry> (the sqlite database is one file located at <path>/<file>)

    Then:

    sqlite://<path>

    returns 404

    sqlite://<path>/<file>

    Basic database info (if the path is a valid db file)
    'Subdirectories' as a list of tables

    sqlite://<path>/<file>/<doc>

    Stuff relating to the <doc> table
    'Subdirectories' as a list of entries in the <doc> table

    sqlite://<path>/<file>/<doc>/<entry>

    Data for the <entry> entry
    no 'Subdirectories'


  • Indexing a database