[Zope] Pre-indexing filter and accented letters

Dieter Maurer dieter at handshake.de
Tue Jun 7 13:23:19 EDT 2005


Yuri wrote at 2005-6-7 10:37 +0200:
> ...
>>Implement a PythonScript that performs the normalization of
>>"context.SearchableText()", say "NormalizedSearchableText".
>>
>>Ensure, it is acquirable by your indexed objects.
>>
>>Index "NormalizedSearchableText" rather than "SearchableText"
>>and use this index for your searches.
>>
>>Ensure, that you perform the same normalization on search
>>terms before you use them in a query.
>>  
>>
>
> Weel, I cannot change the index, it already has his name... it is a 
>collection of thousands of object, this one I want to pre-filter before 
>index are just a small part...

But your index currently has unnormalized values.
Thus, you must rebuild it.

When you rebuild it, you can also give it a different name.

> Or you mean I have to do something about  SearchableText()?

Yes, replace it by "NormalizedSearchableText".

> I have to index in a way the user find the term even if it does not use 
>accented letters on a current index that already has indexed thousands 
>of objects...

I have understood that...
And my advice applied to precisely this situation...

> Can I hook somewhere in the middle, so I Index them in the way I want? :)

You can (and must) normalized the search terms.
However, the indexed values need be normalized, too.

Almost surely, there are not now. This means, rebuilding the
index -- this time with normalization...


-- 
Dieter


More information about the Zope mailing list