Hi Alexei,

On the question whether MarkLogic allows indexing function results, then the 
answer is unfortunately no. Such a feature is on the wish list of many of us.

The best alternative for upper-case would be using collations to ignore case, 
for instance http://marklogic.com/collation//S1 (ignore case and diacritics) or 
http://marklogic.com/collation//S2 (ignore case). You can use the collation 
builder in the admin interface to tweak the collation uri, or search the 
documentation to find out all options.

Kind regards,
Geert

From: Alexei Betin <[email protected]<mailto:[email protected]>>
Reply-To: MarkLogic Developer Discussion 
<[email protected]<mailto:[email protected]>>
Date: Thursday, January 8, 2015 at 8:47 PM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: [MarkLogic Dev General] function index in MarkLogic?

Hello,

Does MarkLogic has something similar to “function index” as exists in other 
databases such as Oracle? For example, in Oracle one can create a function 
index on a value of UPPER(<field_name>) as follows:

CREATE INDEX cities_fn_idx ON cities (UPPER(name));
which ensures that a query like the one below is efficient and not using the 
full table scan:
SELECT name FROM cities WHERE UPPER(name) = 'HOUSTON';

I’d like to do something similar with MarkLogic which could help speed up, e.g. 
the following simple query (which currently runs prohibitively slow despite an 
index on /A/City):

collection()/A/[upper-case( City ) = 'HOUSTON']

upper-case() is only an example, I am looking for a solution that would 
accommodate any function/transformation that derives a value to be used in a 
query condition from an existing element.

Clearly, one solution would be to pre-compute the derived field, add it to all 
the documents in the collection, and create an index on the derived field – 
this is possible, but I want to make sure I am not missing a solution that does 
not require data modification (such as a “function index”).

Thanks,

[Forward Slash]

[Elevate]

Alexei Betin

Principal Architect; Big Data
P: (817) 928-1643 | Elevate.com<http://www.elevate.com>
4150 International Plaza, Suite 300
Fort Worth, TX 76109


Privileged and Confidential. This e-mail, and any attachments thereto, is 
intended only for use by the addressee(s) named herein and may contain 
privileged and/or confidential information. If you have received this e-mail in 
error, please notify me immediately by a return e-mail and delete this e-mail. 
You are hereby notified that any dissemination, distribution or copying of this 
e-mail and/or any attachments thereto, is strictly prohibited.


_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to