[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Indexing of UTF-8 attributes



Hi,

"James Courtney" <Jcourtney@inphonic.com> writes:

> Hello all,
> 	I'm quite new to the LDAP world but our company uses a product
> based on OpenLDAP (Mirapoint messaging server integrated with some
> Cisco legacy voicemail/telephony systems) which defines several
> attributes which must be searched, sometimes with wildcards.  For
> these searches we have applied eq and sub index types.  This platform
> also allows us to specify an index type subinitial which is a "starts
> with" index.  One of our attributes is resulting in very expensive and
> lengthy searches despite being indexed equivalently to other
> attributes.  I'll give two examples now:
>
> ATTRIBUTE SAMPLE VALUES --------------------
> ---------------------------------- givenname "fred", "jamey", "mary",
> "johannes" mailalternateaddress "FAX=1234567890@domain.com"
>
> The givenname attribute searches quickly when indexed and the rather
> strange looking mailalternateaddress is the attribute with poor search
> performance and is used by our application in ways I admit I don't
> fully understand.  We've integrated several pieces of software
> together to create our system and it's one or more of these pieces
> that make use of this attribute.
>
> Pretty much all searches on givenname work efficiently and complete in
> a fraction of a second.
>
> Equality searches on mailalternateaddress work very efficiently and
> complete in a fraction of a second.
>
> Without a sub or subinitial index on the mailalternateaddress
> attribute a wildcard query like
> "(mailalternateaddress=FAX=8668123456*)" (which is what the
> application in question routinely tries to do) results in a 3-3.5
> minute effort on the part of our QA LDAP system.
>
> With a sub index on the mailalternateaddress attribute a query like
> "(mailalternateaddress=FAX=8662123456*)" runs in just over 1 minute
> and a query like "(mailalternateaddress=FAX=8775123456*)" runs in 50+
> seconds.  This is still basically unacceptable for our production
> environment.
[...]

Although I see a few more aspects to be to discussed in your mail, I just
refer to 'mailalternateaddress=FAX=866xxxx'
Is FAX an additional attribute or just part of the value of
mailalternateaddress?
If it is just part of the value the equal sign '=' has to be escaped, as it is a
special character. 
If ist is an additional attribute you should design a multivalued
relative distinguished name.

In either case, your searchstring should be redesigned.

-Dieter


-- 
Dieter Kluenter  | Systemberatung
Tel:040.64861967 | Fax: 040.64891521
mailto: dkluenter@schevolution.com
http://www.schevolution.com/tour