[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