On Thursday 15 August 2002 09:21 am, Jim Fulton wrote:
> The original reason to share vocabularies was that multiple fields
> often came from the same human "vocabulaties". The idea was that 
vocabularies
> would encompass a number of features including:
> 
> - Words (or n-grams) used
> 
> - Synonyms
> 
> - Stemming rules
> 
> - Stop words
> 
> - Splitting rules
> 
> There was, potentially, a lot of information to be shared and it would
> often be important, for consistency to share the same rules for different
> fields that contained the same sort of content. Sharing had as much
> to do with using consistent rules than it did with optimization.
> 
> Unfortunately, the old text index never implemented a lot of these ideas. :(
> 
> The pipe-lining model used by ZCTextIndex moves some of this functionality
> out of the lexicon and leaves some of these ideas unimplemented, as did
> TextIndex.

I'm not sure what you mean. The pipelining is defined and executed in the 
lexicon.
 
> I think that there is at least potential value in sharing lexicons.
> Of course, a down side is that it complicates set up.

I guess the main complaint was that given a set of indexes sharing a lexicon, 
deleting the lexicon and replacing it with another one had no effect on the 
indexes and in fact removes your ability to manage their lexicon at all. So 
you must replace all of the indexes to use the new lexicon by hand.

Admittedly this is really more of a user interface and management issue then 
anything. Zope is just not very good at managing one to many relationships 
unless the one is the container of the many. 8^(
 
> On the subject of referencing lexicons by path rather than using direct
> references, I'm inclined to agree that direct references are better for
> simplicity and speed. It's easy enough to add a new index when you
> want to change a lexicon. (Well, there are some complications having to do
> with making sure that you get all the needed data into the new index...)

The current fix is a compromise that does a traversal as seldom as possible. 
unfortunately it means it must be even more complex then either a simple 
direct ref or path reference would be.

I'm thinking about adopting an alternative fix, which keeps the direct 
reference and the path to the lexicon and gives you a management interface to 
select a new lexicon or simply connect to a replacement (which would clear 
the index). It could also tell you if the lexicon used by the index is the 
actual one referenced from the path. 

I dunno though, maybe we would be better off as before and just document how 
you go about the replacement procedure by hand. The management interface 
could still be improved though, perhaps allowing you to manage the lexicon 
through the index in the case that the original lexicon reference was 
removed. Before there was no disclosure and no way to get to the "deleted" 
lexicon.

-Casey

_______________________________________________
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )

Reply via email to