Wilfried,
What's the *inherent technology* difference between a registration lookup and a general white pages service?
Registration lookup deals with hierarchical namespaces, thus enabling delegation of authority. A general whitepages service deals with flat namespaces which are much uglier to deal with, particularly as the database scales. In addition, registration lookups (should) result in a boolean result, it is either there or it isn't. A general whitepages service can result in multiple hits, requiring additional resolution.
Do you reaaly know about the transcription?
I try not to, however sometimes various APNIC members update the APNIC database with local character set data, even though I whine at them when they do. This is something I'd like to avoid as you can get unexpected results (Chinese, Korean, Japanese, and I think Vietnamese, and Thai use sequences prefixed by escapes to describe characters -- sometimes these can form words that get entered and looked up in indexes).
Then I don't understand why we have the recursive lookup for person objects...
Because person objects are indexed (or did I misunderstand the question)?
Those of us who have to work with end-users have to process a lot of requests that involve dealing with person objects. Whether they are directly indexed or just referenced doesn't make a big difference.
I understand. As I'm not a complete fanatic (:-)), I wouldn't throw out the person name indexing without providing a replacement that would allow people to lookup their names (I've been playing around with LDAP -- seems OK, particularly given some browsers are now appearing with LDAP clients). In the white pages record would be an (optional) entry for NIC handle(s).
I want to find out whether some guy or gal is already in the DB - full stop. And it's more comfortable to do that with a wildcard replacing a "sharp s" or an umlau than being "radical" and try all the different possibilities that I can imageine.
This is a hard problem. My concern is that if you throw in stuff that would allow fuzzy searches, you'll end up making the code more complex, slower, and the resulting index files will likely get (much) bigger. An alternative solution, already proposed by David (:-)) would be to mirror the appropriate database files and use grep (or more reasonably, given the requirements, glimpse or agrep). While somewhat lacking in elegance, it'd probably be faster (given network latency). Regards, -drc