On Tue, Jan 13, 2009 at 10:31 PM, Paul Davis <[email protected]>wrote:
> On Tue, Jan 13, 2009 at 8:29 PM, Dean Landolt <[email protected]> > wrote: > > On Tue, Jan 13, 2009 at 6:44 PM, Nicolas Fouché <[email protected] > >wrote: > > > >> OK, that's what I was thinking. I currently have all my documents in > >> full-text search indexes. I guess I'll use CouchDB for storage and > >> some reduce functions to build dashboards, and not for my > >> "complicated" queries. > >> I don't want to load my indexes down with the document content. For > >> more efficiency, they would only contain the reverse indexes. > >> > >> As far as I know, the _external process cannot return document ids to > >> CouchDB, so CouchDB returns the full document to the caller. Would you > >> recommend doing this on the cliend side ? Query the index, and then > >> query CouchDB with a bunch of keys ? > > > > > > This is probably a question for Paul D as he's done quite a bit of work > in > > this area (and is also working on a pure Erlang FTI as couch plugin). The > > _external hook returns full docs, sure, but you control the scripts that > > pump data into your external indices. > > > > Unless I'm very much mistaken on changes made to the _external code, > there's nothing that requires you to return full docs whatsoever. The > complete response can be specified by the OS process. _external is > extremely shallow in terms of what it requires as a response. You can > mimic views or do something entirely different with them. For all it > cares, you could draw mandlebrot fractals in JSON and return that as a > body. > > > But don't forget that couch is more than a db -- it's an app server. It > > wouldn't hurt to poke around github for some of the pdavis work on this. > You > > may be surprised with what you could accomplish by using couch as a proxy > to > > and interface for other query mechanisms. Also, I'm pretty sure some of > this > > FI stuff is set for inclusion by 1.0, which is nice. > > > Sorry about that, I was making an assumption -- I haven't played too much with it. That was meant to come out "maybe _external requires..." though, now that I think about it I'd have known that was wrong if I'd just thought about it. In any event, all I was trying to say was that there's a lot more to interacting with external processes than just some DBUpdateNotification ability to do it.
