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
