Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: kinosearch: discuss
KSx-IndexManager 0.001
 

Index | Next | Previous | View Flat


marvin at rectangular

Jul 1, 2007, 4:25 PM


Views: 866
Permalink
KSx-IndexManager 0.001 [In reply to]

On Jul 1, 2007, at 10:37 AM, Hans Dieter Pearcey wrote:

> I've just uploaded KSx-IndexManager 0.001.

I see that this module is now visible on search.cpan.org. (: ...and
so is KSx::Searcher::Abstract. :)

Cool stuff! The way it combines both indexing and searching reminds
me of Ferret::Index [.that's a Ruby class for those of you unfamiliar
with Ferret] and Plucene::Simple (upon which KinoSearch::Simple is
loosely based). It's more like Ferret::Index, though, in that it
doesn't hide the interfaces of the classes it replaces -- you still
need to grok Schema, InvIndexer, Searcher, Hits, and implicitly,
FieldSpec and PolyAnalyzer in order to use it.

> I wrote this because I wanted to call fewer methods in code that
> dealt with
> invindexes (both reading and writing).

I can certainly see how using it will result in less code. You and I
appear to have different, but complementary ideas about class design,
and I'm cheesed to see your alternative approach. :)

KinoSearch has a few convenience methods here and there, notably
Schema->open and friends. For the most part, though, I try to avoid
them.

* Fewer moving parts, so fewer things can go wrong.
* Less work before users feel confident that they've grokked an
entire class and acquire a sense of mastery over it.

Convenience methods are a burden if you don't actually use them, and
different people often have different ideas about what's convenient.
I think KinoSearch itself needs to stay streamlined and low-level
enough that people such as yourself have no trouble assembling KS
components into larger tools.

However, I also find a lot of what you've done attractive. Those
write() and append() methods are pretty slick! On some level, it
would be nice to add them to InvIndexer itself, along with add_docs()
-- but having them available via your module distro is even better!

> Compare eg/invindex.pl to KinoSearch's
> sample/invindex.plx to get an idea of what IndexManager covers.

I think that file is actually missing from your distro. It's easy
for me at least to see what's going on, but can you please forward
some sample code to the list?

In addition to the minimalist apps, I'd like to see an example of how
you would use KSx::IndexManager::Plugin::Partition to choose one
invindex from among many at both index-time and search-time. KS has
MultiSearcher, but it doesn't provide a stock answer for how to
multiplex indexing; perhaps you've come up with a good model.

Marvin Humphrey
Rectangular Research
http://www.rectangular.com/

Subject User Time
KSx-IndexManager 0.001 hdp at pobox Jul 1, 2007, 10:37 AM
    KSx-IndexManager 0.001 nate at verse Jul 1, 2007, 11:20 AM
    KSx-IndexManager 0.001 hdp at pobox Jul 1, 2007, 12:27 PM
    KSx-IndexManager 0.001 marvin at rectangular Jul 1, 2007, 4:25 PM
    KSx-IndexManager 0.001 hdp at pobox Jul 2, 2007, 8:13 AM
        KSx-IndexManager 0.001 mwexler at tias Jul 2, 2007, 8:54 AM
            KSx-IndexManager 0.001 hdp at pobox Jul 2, 2007, 8:59 AM
        KSx-IndexManager 0.001 marvin at rectangular Jul 3, 2007, 1:08 AM
    KSx-IndexManager 0.001 hdp at pobox Jul 3, 2007, 5:47 AM

  Index | Next | Previous | View Flat
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.