Solutions

Stay on top of everything MarkLogic

Be the first to know! News, product information, and events delivered straight to your inbox.

Sign Me Up

Learn

Stay on top of everything MarkLogic

Be the first to know! News, product information, and events delivered straight to your inbox.

Sign Me Up

Community

Stay on top of everything MarkLogic

Be the first to know! News, product information, and events delivered straight to your inbox.

Sign Me Up

Company

Stay on top of everything MarkLogic

Be the first to know! News, product information, and events delivered straight to your inbox.

Sign Me Up

 
Knowledgebase
Most popular articles 
 
Newest articles 
 
INTRODUCTION This article discusses the "STAND S HAS N FRAGMENTS" messages that may appear in e_rror log_ or _system log_ files. These messages can appear at different log levels (Notice, Warning, Error, Critical, Alert, and Emergency) [http://docs.markl...
SUMMARY Occasionally, you might see an "Invalid Database Online Event" error in your MarkLogic Server Error Log. This article will help explain what this error means, as well as provide some ways to resolve it. WHAT THE ERROR MEANS The XDMP-INVDATABAS...
Details: Upon boot of CentOS 6.3, MarkLogic users may encounter the following warning: :WARNING: at fs/hugetlbfs/inode.c:951 hugetlb_file_setup+0x227/0x250() (Not tainted) MarkLogic 6.0 and earlier have not been certified to run on CentOS 6.3. Th...
INTRODUCTION Some customers have reported seeing kernel level messages like this in their _/var/log/messages_ file: Jan 31 17:41:46 ml-c1-u3 kernel: [17467686.201893] TCP: Possible SYN flooding on port 7999. Sending cookie This may also be seen as par...
INTRODUCTION This article will show you how to add a Fast Data Directory (FDD) to an existing forest. DETAILS The fast data directory stores transaction journals and stands. When the directory becomes full, larger stands will be merged into the data...
INTRODUCTION Marklogic has shipped with a ReST API since MarkLogic 7. In MarkLogic 8 the ReST API was vastly expanded, allowing ways for MarkLogic Database administrators to manage almost all common MarkLogic administration tasks over an HTTP connectio...
SUMMARY On Internet Explorer 9 and Internet Explorer 10, application services UI should be run in Compatibility Mode. DETAILS: When using the Application Services UI in Internet Explorer 9 or Internet Explorer 10, you may notice some minor UI bugs...
INTRODUCTION A question that customers frequently ask is for advice on managing backups outside the standard XQuery APIs [https://docs.marklogic.com/admin/database] or the web interface [https://docs.marklogic.com/guide/admin/backup_restore#id_51602] pro...
BACKUP/RESTORE SETTINGS FOR LOCAL DISK FAILOVER When configuring backups for a database, the 'include replica forests' setting is important in order to handle forest failover events. When 'include replica forests' is set to 'true', both the master and th...
SUMMARY In some cases it is required to change the default environment variables of a MarkLogic Server installation or configuration which are predefined in /etc/sysconfig/MarkLogic RECOMMENDATION The standard MarkLogic installation includes a file th...
BEST PRACTICE FOR ADDING AN INDEX IN PRODUCTION SUMMARY It is sometimes necessary to remove or add an index to your production cluster. For a large database with more than a few GB of content, the resulting workload from reindexing your database can be ...
SUMMARY MarkLogic Server can ingest and query all sorts of data such as XML, text, JSON, binary, generic, etc. There are some things to consider when choosing to simply load data "as-is" vs. doing some degree of data modeling or data transformation prior...
INTRODUCTION MarkLogic Server delivers performance at scale, whether we're talking about large amounts of data, users, or parallel requests. However, people do run into performance issues from time to time. Most of those performance issues can be found a...
INTRODUCTION While there are many different ways to define schemas in MarkLogic Server, one should be aware of both the location strategy the server will use (defined here: http://docs.marklogic.com/guide/admin/schemas [http://docs.marklogic.com/guide/ad...
SUMMARY Although not exhaustive, this article lists some best practices for the use of MarkLogic Server and Amazon's VPC DETAILS * Nodes within a MarkLogic cluster need to communicate with one another directly, without the presence of a load balance...
INTRODUCTION Problems can occur when trying to explicitly search (or not search) parts of documents when using a global configuration approach to include and exclude elements. GLOBAL APPROACH Including and excluding elements in a document using a glob...
INTRODUCTION Backing up multiple databases simultaneously may make some of the backups fail with error XDMP-FORESTOPIN. DETAILS While configuring a scheduled backup, one can also select to backup the associated auxiliary databases like security, schem...
INTRODUCTION In MarkLogic 8, support for native JSON and server side JAVASCRIPT was introduced. We discuss how this affects the support for XML and XQUERY in MarkLogic 8. DETAILS In MarkLogic 8, you can absolutely use _XML_ and _XQuery. XML_ and _XQue...
INTRODUCTION Sometimes you may find that there are one or more tasks that are taking too long to complete or are hogging too many server resources, and you would like to remove them from the Task Server. This article presents a way to cancel active ta...
SUMMARY MarkLogic stores all signed Certificates, private keys, and Certificate Authority Certificates inside the Security Database. The Security Database also stores Users, Passwords, Roles, Privileges, and many other Authentication related configuratio...
SUMMARY Each node in MarkLogic Server Cluster has a hostname, a human-readable nickname corresponding to the network address of the device. MarkLogic retrieves the hostname from underlying operating system during installation. On Linux, we can retrieve p...
INTRODUCTION: WHEN YOU MAY NEED TO CHANGE THE STATE OF FORESTS In most cases, all forests in your MarkLogic cluster will be configured to allow all (any) updates to be made. If we consider running the following example in Query Console: In the majori...
INTRODUCTION This article discusses some of the issues you should think about when preparing to change the IP address' of a MarkLogic Server. DETAIL: If the hostnames stay the same, then changing IP addresses should not have any adverse side effe...
INTRODUCTION If you have an existing MarkLogic Server instance running on EC2, there may be circumstances where you need to change the size of available storage. This article discusses approaches to ensure a safe increase in the amount of available sto...
INTRODUCTION A common use case in many business applications is to find if an element exists in any document or not. This article provide ways to find such documents and explain points that should be taken care of while designing a solution. SOLUTION ...
INTRODUCTION MarkLogic Server has shipped with full support for the W3C XML Schema [https://www.w3.org/XML/Schema] specification and schema validation capabilities since version 4.1 (released in 2009). These features allow for the validation of complet...
SUMMARY In MarkLogic Server V7.0-2, the tokenizer keys [http://docs.marklogic.com/guide/search-dev/languages#id_59632], for languages where MarkLogic provides generic language support [http://docs.marklogic.com/guide/search-dev/languages#id_40354], were ...
INTRODUCTION HAProxy (http://www.haproxy.org/ [http://www.haproxy.org/]) is a free, fast and reliable solution offering high availability, load balancing and proxying for TCP and HTTP-based applications. MarkLogic 8 (8.0-8 _and above_) and MarkLogic 9 ...
SUMMARY MarkLogic Server organizes TRUSTED CERTIFICATE AUTHORITIES (CA) by Organization Name. Trusted Certificate Authorities are the issuers of digital certificates, which in turn are used to certify the public key on behalf of the named subject as give...
INTRODUCTION MarkLogic Server is engineered to scale out horizontally by easily adding forests and nodes. Be aware, however, that when adding resources horizontally, you may also be introducing additional demand on the underlying resources. DETAILS On...
SUMMARY MarkLogic Application Servers will keep a connection open after completing and responding to a request, waiting for another new request, until the _Keep Alive_ timeout expires. However, there is an exception scenario where the connection will clo...
SUMMARY CSV files are a very common data exchange format. It is often used as an export format for spreadsheets, databases or any other application. Depending on the application, you might be able to change the delimiter character to a #hash or *aster...
INTRODUCTION: MarkLogic Server allows you to set-up an alerting application to notify users when new content is available that matches a predefined query. This can be achieved through the Alerting API with the Content Processing Framework (CPF). [http://...
INTRODUCTION If you're looking at the MarkLogic Admin UI on port 8001, you may have noticed that the status page for a given database displays the last backup dateTime for a given database. We have been asked in the past how this gets computed so the s...
PROBLEM: When searching for matches using OR'ed word-queries, and in the case where there are overlapping matches, (i.e. one query contains the text of another query), the results of a cts:highlight query are not as desired. For example: let $p :=

...

INTRODUCTION In the Scalability, Availabilty & Failover Guide [http://docs.marklogic.com/guide/cluster], the node communication section [http://docs.marklogic.com/guide/cluster/clustering#id_87995] describes a quorum [https://help.marklogic.com/Knowledge...
SUMMARY This article discusses what happens when you backup or restore your database after a local disk failover event on one of the database forests. INTRODUCTION MarkLogic Server provides high availability in the event of a data node failure. Da...
INTRODUCTION _From the documentation:_ Queries on a Replica database must run at a timestamp that lags the current cluster commit timestamp due to replication lag. Each forest in a Replica database maintains a special timestamp, called a Non-blocki...
INTRODUCTION Database Replication replicates fragments/documents from a source database to a target database. You may see different database sizes (even when active fragment counts are then same) between Master and Replica Databases. This article provide...
INTRODUCTION If your MarkLogic Server has it's logging level set to "Debug", it's common to see a chain of _'Detecting'_ and _'Detected'_ messages that look like this in your ErrorLogs: 2015-01-27 11:11:04.407 Debug: Detected indexes for database Docum...
SUMMARY This article will provide steps to debug applications using the Alerting API that are not triggering an alert. DETAILS 1) Check that all required components are present in the database where alerting is setup: config, actions, rules. Run the...
INTRODUCTION  Division operations involving integer or long datatypes may generate XDMP-DECOVRFLW in MarkLogic 7. This is the expected behavior but it may not be obvious upon initial inspection. For example, similar queries with similar but different i...
CONTEXT: There are options 'maintain last modified' and 'maintain directory last modified' on the Admin UI for a database, which when turned on add properties to every document inserted in the database. There may be a need to remove all the property fra...
INTRODUCTION This KB article lists some available tools for continuous integration and automatically deploying the MarkLogic Server DEPLOYMENT _Roxy_ is an open source utility for configuring and deploying MarkLogic applications. Using Roxy you can de...
SUMMARY This article will help MarkLogic Administrators to monitor the health of their MarkLogic cluster. By studying the attached scripts, you will learn how to find out which hosts are down and which forests have failed over, enabling you to take the n...
SUMMARY: After adding or removing a forest and correspond replica forest in a database, we have seen instances where the Rebalancer does not properly distribute the documents amongst existing and newly added forests. For this particular instance, XDMP...
Search fundamentals Difference between _CTS: CONTAINS AND FN: CONTAINS_ 1)fn:contains is a substring match, where as cts:contains performs word matching 2)cts:contains utilizes stemming, where fn:contains does not For example:- Example.xml <...
INTRODUCTION MarkLogic Server provides a variety of disaster recovery (DR) facilities including full backup, incremental backup, and journal archiving that when combined with other ML features can create a complete disaster recovery strategy. This paper...
INTRODUCTION In the more recent versions of MarkLogic Server, there are checks in place to prevent the loading of invalid documents (such as documents with multiple root nodes). However, documents loaded in earlier versions of MarkLogic Server can now re...
INTRODUCTION This article talks about effects of case sensitivity of search term on search score and thus on final order of search results for a secondary query which is using cts:boost-query and weight. The case-insensitive word term is treated as the ...
INTRODUCTION Some customers have reported problems when attempting to access the Configuration Manager [http://docs.marklogic.com/guide/admin/config_manager#chapter]application. In the past, this has been attributed to part of the upgrade process failing...
SUMMARY Does MarkLogic provide encryption at rest? MARKLOGIC 9 MarkLogic 9 introduces the ability to encrypt 'data at rest' - data that is on media (on disk or in the cloud), as opposed to data that is being used in a process. Encryption can be applie...
INTRODUCTION Here we compare XDBC servers and the Enhanced HTTP server in MarkLogic 8. DETAILS XDBC servers are still fully supported in MarkLogic Server version 8. You can upgrade existing XDBC servers without making any changes and you can create ne...
INTRODUCTION This article talks about best practices for use of external proxies vs using rewriter rules in the Enhanced HTTP server. DETAILS Whether to use external proxies versus using rewriter rules in the Enhanced HTTP application server is an app...
SUMMARY A forest reindex timeout error may occur when there are transactions holding update locks on documents for an extended period of time. A reindexer process is started as a result of a database index change or a major MarkLogic Server upgrade. T...
INTRODUCTION Users of Java based batch processing applications, such as CoRB, XQSync, mlcp and the hadoop connector may have seen an error message containing "PREMATURE EOF, PARTIAL HEADER LINE READ". Depending on how exceptions are managed, this may cau...
SUMMARY Here we discuss various methods for sharing metering data with Support: telemetry in MarkLogic 9 and exporting monitoring data. DISCUSSION TELEMETRY In MARKLOGIC 9, enabling telemetry collects, encrypts, packages, and sends diagnostic and sys...
INTRODUCTION To avoid index bloat, MarkLogic only records positions in its indexes for words once for word-query fields [http://docs.marklogic.com/guide/admin/wordquery#chapter]. When word positions are necessary to accurately match element-word queries,...
INTRODUCTION A "fast data directory [http://docs.marklogic.com/guide/performance/disk-storage#id_17115]" is configurable for each forest, and can be set to a directory built on a fast file system, such as one using SSDs. Refer to Using a mix of SSD and ...
INTRODUCTION The Performance Considerations [http://docs.marklogic.com/guide/ingestion/performance] section of the Loading Content Into MarkLogic Server [http://docs.marklogic.com/guide/ingestion] documentation states "_When you load content, MarkLogic...
SUMMARY There are situations where the SVC-DIRREM, SVC-DIROPEN and SVC-FILRD errors occur on backups to an NFS mounted drive. This article explains how this condition can occur and describes a number of recommendations to avoid such errors. Under norma...
INTRODUCTION It has long been possible to store binary files in MarkLogic. In the MarkLogic 5 release in 2011, binary support was enhanced to allow for even more control over binary files. The purpose of this Knowledgebase article is not to cover MarkL...
People often want fine-grained entitlement control in the applications they build on top of MarkLogic Server. This article discusses two options and their performance implications. BEST PRACTICE Often, we'll see people attempt an implementation using M...
SUMMARY When attempting to start MarkLogic Server on older versions of Linux (Non-supported platforms), a "Floating Point Exception" may prevent the server from starting. Example of the error text from system messages: kernel: MarkLogic[29472] ...
Introduction Attached to this article is an XQuery module: "appserver-status.xqy", which will generate a report on all requests currently "in-flight" across ALL application servers in your cluster Usage Run this in Query Console (be sure to displa...
INTRODUCTION At the time of this writing (MarkLogic 9), MarkLogic Server cannot perform spherical queries, as the geospatial indexes do NOT support a true 3D coordinate system. In situations where cylindrical queries are sufficient, you can create a 2D ...
INTRODUCTION The MarkLogic Monitoring History dashboard (http://localhost:8002/history/ [http://localhost:8002/history/]) is probably the easiest way to gather monitoring history data, but almost all of this information available within the monitoring da...
Introduction When configuring database replication, it is important to note that the _Connect Forests by Name_ field is true by default. This works great because, when new forests of the same name are later added to the Master and Replica databases, t...
MARKLOGIC DEFAULT GROUP LEVEL CACHE AND HUGE PAGES SETTINGS The table below shows the default (and recommended) group level cache settings based on a few common RAM configurations for the 9.0-9.1 release of MarkLogic Server: TOTAL RAM LIST CACHE ...
Introduction MarkLogic Server has a notion of groups, which are sets of similarly configured hosts within a cluster. Application servers (and their respective ports) are scoped to their parent group. Therefore, you need to make sure that the hos...
PROBLEM: The errors 'XDMP-MODNOTFOUND - Module not found' and 'XDMP-NOPROGRAM - Server unable to build program from request' may occur when the requested XQuery document does not exist or the user does not have the right permissions on the module. SOL...
INTRODUCTION Recent exploits in the TLS protocol such as POODLE, FREAK, LogJam and SLOTH have rendered TLSv1.0 and SSLv3 largely obsolete. Additionally, standards councils such as PCI (Payment Card Industry) and NIST (National Institute of Standards & Te...
Introduction: Getting More Information About The Bugs Fixed Between Releases As a general recommendation, we encourage customers to keep the server up-to-date with patch releases at any case. If you would like a list of some of the published bugs tha...
INTRODUCTION In Amazon Web Services, AMIs have unique ids based on their region. There will be many cases when you want to use multiple regions (for example: maintenance of two clusters in separate geographical regions). Below is an example of how to fin...
SUMMARY MarkLogic Server has several different features that can help manage data across multiple database instances. Those features differ from each other in several important ways - this article will focus on high-level distinctions and will provide po...
INTRODUCTION Upgrading individual MarkLogic instances and clusters is generally very easy to do and in most cases requires very little downtime. In most cases, shutting down the MarkLogic instance on each host in turn, uninstalling the current release, i...
INTRODUCTION spell:suggest() and spell:suggest-detailed aren't simply looking for character differences between the provided strings and the strings in your dictionaries - they're also factoring in differences in the resulting phonetics represented by...
BACKGROUND A database consists of one or more forests. A forest is a collection of documents (mostly XML trees, thus the name), implemented as a physical directory on disk. Each forest holds a set of documents and all their indexes. When a new d...
Summary The following article explains the way in-memory caches are used by MarkLogic Server and how can they be utilized to improve query execution. DETAIL MarkLogic Server provides several caches that are used to improve the performance during quer...
INTRODUCTION Content processing applications often require multi-step processing. Each step in the process performs a particular task or set of tasks. The Content Processing Framework in MarkLogic Server supports these types of multi-step conversion pro...
INTRODUCTION Sometimes, when a host is removed from a cluster in an improper manner -- e.g., by some means other than the Admin UI or Admin API, a remote host can still try to communicate with its old cluster, but the cluster will recognize it as a "for...
Introduction Sometimes, when a cluster is under heavy load, your cluster may show a lot of XDQP-TIMEOUT messages in the error log. Often, a subset of hosts in the cluster may become so busy that the forests they host get unmounted and remounted repeat...
INTRODUCTION Under normal operations, only a single user object is created for a user-name. However, when users are migrated from another security database and if the recommend checking [https://help.marklogic.com/Knowledgebase/Article/View/192/0/restori...
INTRODUCTION For hosts that don't use a standard US locale (_en_US_) there are instances where some lower level calls will return data that cannot be parsed by MarkLogic Server. An example of this is shown with a host configured with a different locale w...
SUMMARY This Knowledgebase article outlines the necessary steps required in importing an existing (pre-signed) Certificate into MarkLogic Server and configuring a MarkLogic Application Server to utilize that certificate. EXISTING (PRE-SIGNED) CERTIFICA...
INTRODUCTION This article discusses the effects of the incremental backup implementation on Recovery Point Objectives (RPO) and Recovery Time Objectives (RTO). DETAILS With MarkLogic 8 you can have multiple daily incremental backups with minimal impac...
INDEXING BEST PRACTICES Indexing in MarkLogic occurs when a document is added or updated. When adding a new index, the server runs an estimate of all the fragments that match and the proceeds to reload those URIs that match. Indexing/reindexing can be ...
SUMMARY MarkLogic Admin GUI is convenient place to deploy the Normal Certificate infrastructure or use the Temporary Certificate generated by MarkLogic. However for certain advance solutions/deployment we need XQuery based admin operations to configure M...
INTRODUCTION Okta [https://www.okta.com] provides secure identity management and single sign-on to any application, whether in the cloud, on-premises or on a mobile device. The following procedure describes the procedure required to integrate MarkLogic...
INTRODUCTION MarkLogic server provides pre-commit or post-commit triggers and these triggers listens for certain events to occur and then invokes a configured XQuery module to run after event occurs. It is a common use case to create a common function in...
INTRODUCTION We are always looking for ways to understand and address performance issues within the product and we are addressing this by adding the following new diagnostic features to the product. NEW TRACE EVENTS IN MARKLOGIC SERVER Some new diagno...
SUMMARY The jemalloc library is included with the MarkLogic install and is recommended to use as it has shown a performance boost over the default Linux malloc library. It is included with the MarkLogic server install and is configured to be used by def...
INTRODUCTION This article compares JSON support in MarkLogic Server versions 6, 7, and 8, and the upgrade path for JSON in the database. HOW IS NATIVE JSON DIFFERENT THAN THE PREVIOUS JSON SUPPORT? Previous versions of MarkLogic Server provided XQuery...
INTRODUCTION MarkLogic Server provides a couple of useful techniques for keeping values in memory or resolving values without having to scan for documents on-disk. OPTIONS There are a few options available: 1. CTS:ELEMENT-VALUES performs a lexicon l...
SUMMARY This article explains how to kill Long Running Query and related timeout configurations. PROBLEM SCENARIO At some point, we've all run into an inefficient long running query. What should we do if we don't want to wait for the query to complete...
INTRODUCTION MarkLogic Server allows you to configure MarkLogic Server so that users are authenticated using an external authentication protocol, such as Lightweight Directory Access Protocol (LDAP) or Kerberos. These external agents serve as centralized...
SUMMARY A LEAP SECOND [http://en.wikipedia.org/wiki/Leap_second], as defined by wikipedia is "_a one-second [http://en.wikipedia.org/wiki/Second] adjustment that is occasionally applied to Coordinated Universal Time [http://en.wikipedia.org/wiki/Coordina...
SUMMARY The internal mechanisms MarkLogic Server uses to implement security are query constraints. Lexicon search performance may be impacted by security query contraints. If performed with admin credentials, Lexicon searches will not be impacted by t...
For MarkLogic Server v6.0, the absolute maximum number of MarkLogic Servers in a Cluster is 256, but the optimum is around 64.
SUMMARY MarkLogic recommends the default "ordered" option for Linux EXT3 and EXT4 file-systems. File System administrators in Linux are tempted to use the data=writeback option to achieve higher throughput from their file-system, but this comes with th...
INTRODUCTION Here we discuss management of temporal documents. DETAILS In MarkLogic, a temporal document is managed as a series of versioned documents in a protected collection. The 'original' document inserted into the database is kept and never chan...
INTRODUCTION When CPF is installed, a number of new documents are created for the nominated TRIGGERS database associated with that database. This Knowledgebase article is designed to show you what CPF creates on install, in the event that you want to s...
INTRODUCTION If you have an existing MarkLogic Server cluster running on EC2, there may be circumstances where you need to upgrade the existing AMI with the latest MarkLogic rpm available. You can also add a custom OS configuration. This article assum...
INTRODUCTION A powerful new feature was added to MarkLogic 8 - the ability to build applications around a declarative HTTP rewriter [http://help.marklogic.com//docs.marklogic.com/guide/app-dev/XMLrewriter]. You can read more about MarkLogic Server's HTTP...
INTRODUCTION Prior to the 9.0-9 release, MarkLogic currently provides support for the Oracle JDK 8 [https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html]. However, Oracle have recently announced End of Public Updates of Ja...
SUMMARY The default configuration of MarkLogic Application Servers are NOT vulnerable to the FREAK SSL attack. WHAT IS THE FREAK SSL ATTACK? Tuesday 2015/03/03 - Researchers of miTLS team (joint project between Inria and Microsoft Research) disclosed ...
SUMMARY MarkLogic 9 introduces Certificate based User Authentication, which allows users to Log into MarkLogic Server without being required to enter user name/password. In previous versions, Certificates were only utilized to restrict client access to ...
SUMMARY MarkLogic 9 introduces Certificate based User Authentication, which allows users to Log into MarkLogic Server without being required to enter user name/password. In previous versions, Certificates were only utilized to restrict client access to M...
INTRODUCTION There is a lot of useful information in MarkLogic Server's documentation surrounding many of the new features of MarkLogic 9 - including the new SQL implementation, improvements made to the ODBC driver and the new system for generating SQL "...
INTRODUCTION This article details changes to the upgrade procedures for MarkLogic 9 AMIs. MarkLogic 9 now supports 1-click deployment in AWS Marketplace. This is an addition to existing options of manual launch of an AMI and launching MarkLogic cluster...
INTRODUCTION: THE DECIMAL TYPE In order to be compliant with the XQuery specification and to satisfy the needs of customers working with financial data, MarkLogic Server implements a decimal type, available in XQuery and server-side JavaScript. Decimal...
SUMMARY A database or forest backup in MarkLogic Server may be significantly slower than just performing a file copy (cp in Linux). Why is this so? DETAILS Using CP on very large files on a large-memory linux can produce huge amounts of dirty page...
INTRODUCTION MarkLogic automatically provides * ANSI REPEATABLE READ level of isolation for update transactions, and * Serializable isolation for read-only (query) transactions. MarkLogic can be made to provide ANSI SERIALIZABLE isolation for upd...
SUMMARY Text is stored in MarkLogic Server in Unicode NFC normalized form. DISCUSSION In MarkLogic Server, all text is converted into Unicode NFC normalized form before tokenization and storage. Unicode considers NFC-compatible characters to be esse...
ABSTRACT In MARKLOGIC SERVER VERSION 9, the default tokenization and stemming code has been changed for all languages (except English tokenization). Some tokenization and stemming behavior will change between MARKLOGIC 8 and MARKLOGIC 9. We expect that, ...
SUMMARY In addition to the multiple language support in MarkLogic Server, MarkLogic Server also supports ISO codes listed below for representation of names for these languages. MARKLOGIC SUPPORTED ISO CODES MarkLogic supports following ISO codes for...
With the release of MarkLogic Server versions 8.0-8 and 9.0-4, detailing memory use broken out by major areas is periodically recorded to the error log. These diagnostic messages can be useful for quickly identifying memory resource consumption at a glanc...
INTRODUCTION The MarkLogic Monitoring History [http://docs.marklogic.com/guide/monitoring] feature allows you to capture and view critical performance data from your cluster. By default, this performance data is stored in the Meters database [http://doc...
MONITORING HISTORY The Monitoring History feature allows you to capture and view critical performance data from your cluster. Monitoring History capture is enabled at the group level. Once the performance data has been collected, you can view the data i...
SUMMARY: Prior to MarkLogic 4.1-5, role-ids were randomly generated. We now use a hash algothm that ensures that roles created with the same name will be assigned the same role-id. When attempting to migrate data from a forest created prior to MarkLog...
INTRODUCTION Those familiar with versions of MarkLogic Server prior to MarkLogic 7 may have heard the 3X disk space rule being mentioned. At the time of writing, references to are to be found in the MarkLogic 5 documentation [http://docs.marklogic.com/5....
SUMMARY New and updated mimetypes [http://docs.marklogic.com/admin-help/mimetype] were added for MARKLOGIC 8. If your _MarkLogic Server_ instance has customized mimetypes, the upgrade to _MarkLogic Server v8.0-1_ will NOT update the mimetypes table. DE...
INTRODUCTION In this article, we discuss use of xdmp:cache-status in monitoring cache status, and explain the values returned. DETAILS Note that this is a relatively expensive operation, so it's not something to run every minute, but it may be valuabl...
We do NOT recommend configuring multiple forests for the Security database, as this can cause failover issues when doing upgrades and restarts. Security database should have a single primary forest and replicas on all hosts to ensure High Availability.
SUMMARY When restarting very large forests, some customers have noted that it may take a while for them to mount. While the forests are mounting, the database is unable to come online, thus impacting the availability of your main site. This article show...
INTRODUCTION MarkLogic Server's 'DatabaseClient' instance represents a database connection sharable across threads. The connection is stateless, except that authentication is done the first time a client interacts with the database via a Document Manager...
SUMMARY On March 1, 2016, a vulnerability in OpenSSL [http://openssl.org/news/vulnerabilities.html#y2016] named DROWN, a man-in-the-middle attack that stands for "Decrypting RSA with Obsolete and Weakened eNcryption", was announced. All MARKLOGIC SERVER ...
SUMMARY Installation of Ops Director 2.0.0 on MarkLogic 9.0-9 fails with the error: This installer cannot install Ops Director on MarkLogic Server 9.0-9. This article will explain how to resolve the error. WHAT THE ERROR MEANS The Ops Director 2.0...
SUMMARY This article briefly looks at the performance implications of ad hoc queries versus passing external variables to a query in a module DETAILS Programatically, you can achieve similar results by dynamically generating ad hoc queries on the ...
SUMMARY MarkLogic does not enforce a programmatic upper limit on How many indexes you *can* have. This leaves open the question of how many range indexes should be used in your application. The answer is that you should have as many as the application re...
PERFORMANCE IMPLICATIONS OF UPDATING MODULE AND SCHEMA DATABASES This article briefly looks at the performance implications of adding or modifying modules or schemas to live (production) databases. DETAILS When XQuery modules or schemas are referenced...
OVERVIEW Performance issues in MarkLogic Server typically involve either 1) UNNECESSARY WAITING ON LOCKS or 2) OVERLARGE WORKLOADS. The goal of this knowledgebase article is to give a high level overview of both of these classes of performance issue, as ...
_This article is a snapshot of the talk that Jason Hunter and Franklin Salonga gave next at MARKLOGIC WORLD 2014, also titled, "Performance Theory: Tales From The MarkLogic Support Desk." Jason Hunter is Chief Architect and Frank Salonga is Lead Engineer ...
INTRODUCTION Administrators can achieve very fine granularity on restores when incremental backups are used in conjunction with log archiving. DETAILS Journal archiving can enable a restore to be performed to any timestamp since the last incremental b...
SUMMARY There are index settings that may be problematic if your documents contain encoded binary data (such as Base64 encoded binary). This article identifies a couple of these index settings and explains the potential pitafall. DETAILS When WORD...
INTRODUCTION Looking at the MarkLogic Admin UI, you may have noticed that the status page for a given database displays the last backup date and time for a given database. We have been asked in the past how this gets computed so the same check can be per...
INTRODUCTION In this Knowledgebase article, we will discuss a technique which will allow you to scope queries in such a way to ensure that they occur only within a parent element. DETAILS CTS:ELEMENT-QUERY Consider a scenario where you have an XML do...
SUMMARY This article explains why you may encounter Cross-Site Request Forgery (CSRF) error (SECURITY-BADREQUEST) when using MarkLogic Server's Query Console application and how the issue can be resolved. DETAILS Since the 8.0-6 release of MarkLogic S...
SUMMARY There is a limit to the number of registered queries held in the forest registry. If your application does not account for that fact, you may get unexpected results. WHERE IS IT? If a specific registered query is not found, then a cts:sea...
SUMMARY If your index settings have a very large number of range indexes specified (on the order of thousands or even tens of thousands), you may find your MarkLogic Server instance returning a message saying that it "Cannot allocate memory" - even when ...
INTRODUCTION Seeing too many "stand limit" messages in your logs frequently? This article explains what this message means to your application and what actions should you take. WHAT ARE STANDS AND HOW THEIR NUMBERS CAN INCREASE? A stand holds a subs...
INTRODUCTION This article presents the steps to create a Read only Access User and a full access user to a Webdav Server. DETAILS For read-only WebDAV access you can connect to WebDAV using the credentials of a user who does not have the rights to ins...
OVERVIEW UPDATE TRANSACTIONS run with _readers/writers locks_, obtaining locks as needed for documents accessed in the transaction. Because update transactions only obtain locks as needed, update statements always see the latest version of a document. Th...
CONTEXT This KB article talks specifically about how the Rebalancer interacts with database replication, and how to solve the issues that may arise if not configured correctly. For a general discussion on how rebalancing works in MarkLogic, refer to th...
On a MarkLogic 7 cluster or a MarkLogic 8 cluster that was previously upgraded from MarkLogic Server version 6, reindexing of the triple index does not always get triggered when the triple index is turned off. Reindexing is performed after turning off an ...
SUMMARY When used as a file system, GFS needs to be tuned for optimal performance with MarkLogic Server. RECOMMENDATIONS Specifically, we recommend tuning the demote_secs and statfs_fast parameters. The demote_secs parameter determines the amount of t...
INTRODUCTION MarkLogic is supported on XFS filesystem. The minimum system requirements can be found here: https://developer.marklogic.com/products/marklogic-server/requirements-9.0 [https://developer.marklogic.com/products/marklogic-server/requirements...
SUMMARY The XDMP-LABELBADMAGIC error appears when attempting to mount a forest with a corrupted or zero length Label file. This article identifies a potential cause and provides the steps required to work around this issue. Details The XDMP-LABELBADM...
INTRODUCTION In some situations an existing cluster node needs to be replaced. There are multiple reasons for this activity like hardware failure or hardware replacement. In this Knowledgebase article we will outline the steps necessary to replace the ...
STEMMING: MarkLogic Server supports stemming in English and other languages. If stemmed searches are enabled in the database configuration, MarkLogic Server automatically searches for words that come from the same stem of the word specified in the query...
This is a procedure to take hosts out of a MarkLogic cluster with minimal unavailability. It is assumed that High availability is configured using local disk failover [http://docs.marklogic.com/guide/cluster/failover#id_65543]and all master forests have a...
INTRODUCTION Using MarkLogic Server's Admin UI, it is possible to modify the name of a single host via Admin UI -> Configure -> Hosts -> 'Select Host in question' and update the name and click ok. However, if you would want to change/update the hostnam...
INTRODUCTION In a multiple node cluster with local disk failover configured, there may be a need to replace a server with new hardware. This article explains how to do that while preserving the failover configuration. SAMPLE CONFIGURATION Consider a 3...
SUMMARY A Socket bind error will occur when there are more than two MarkLogic Server instances running simultaneously in the same host. Two simultaneous instances of MarkLogic Server might occur if a MarkLogic Server process did not gracefully shutdown ...
BACKWARDS COMPATIBILITY Newer versions of MarkLogic will support backups taken from older versions of the software. This restore may cause a reindex of the data in order to upgrade the database to the current feature release version. Information on backi...
SUMMARY When performing a Security database backup on one cluster and restoring on another cluster, there are precautionary measures to be taken. DETAILS Since MarkLogic Server version 4.1-5, the internal user IDs are derived from the hash of the us...
SUMMARY If MarkLogic Server is installed on an Amazon Elastic Compute Cloud (EC2) instance and you execute queries in the MarkLogic Query Console, it is possible that the queries will be silently cancelled. Long running queries may time out because of a...
INTRODUCTION If you have forest level failover configured on your MarkLogic cluster, in the event that a single host in the cluster loses contact with the other hosts, the forests will _fail over_ to the backup set of forests: the replica forests WHAT ...
SUMMARY This article explores fragmentation policy decisions for a MarkLogic database, and how search results may be influenced by your fragmentation settings. DISCUSSION FRAGMENTS VERSUS DOCUMENTS Consider the below example. 1) Load 20 test docume...
WHAT IS DLS? The Document Library Service (DLS) enables you to create and maintain versions of managed documents in MarkLogic Server. Access to managed documents is controlled using a check-out/check-in model. You must first check out a managed docu...
SUMMARY This knowledge base discusses the various aspect of vulnerabilty found in glibc library (CVE-2015-7547) in respect to MarkLogic Server. Please note - We do not expect any changes to be done at MarkLogic Application software level to protect aga...
INTRODUCTION This article discusses the capabilities of JavaScript and XQuery, and the use of JSON and XML, in MarkLogic Server, and when to use one vs the other. DETAILS CAN I DO EVERYTHING IN JAVASCRIPT THAT I CAN DO IN XQUERY? AND VICE-VERSA? Yes,...
INTRODUCTION This article discusses how JavaScript is implemented in MarkLogic Server, and how can modules be reused? IS NODE.JS EMBEDDED IN THE SERVER? MarkLogic 8 embeds Google's V8 JavaScript engine [https://code.google.com/p/v8/], just like Node.j...
INTRODUCTION The notion of "flipping" back control (from failed-over replica forest back to the master forest) has been covered in previous Knowledgebase articles: https://help.marklogic.com/Knowledgebase/Article/View/427/0/scripting-failover-flipping-...
SUMMARY Some MarkLogic Server sites are intalled in a 1GB network environment. At some point, your cluster growth may require an upgrade to 10GB ethernet. Here are some hints for knowing when to migrate up to 10GB ethernet, as well as some ways to work a...
INTRODUCTION The performance and resource consumption of E-nodes is determined by the kind of queries executed in addtion to the distribution and amount of data. For example, if there are 4 forests in the cluster and the query is asking for only the top-...
INTRODUCTION We discuss why MarkLogic server should be started with root priviledges. DETAILS It is possible to install MarkLogic Server in a directory that does not require root priviledges. There's also a section in our Installation Guide (Configu...
SUMMARY Quorum is used to either evict or keep a node in a cluster but is quorum requierd even while starting my cluster? WHAT IS QUORUM? Each node in a cluster communicates with all of the other nodes in the cluster at periodic intervals. This peri...
SUMMARY When attempting to send email from MarkLogic, either from an Application, or Query Console, you might encounter the error "ERROR SENDING MAIL: STARTTLS: 502 5.5.1 ERROR: COMMAND NOT IMPLEMENTED" error in your MarkLogic Server Error Log. This arti...
INTRODUCTION STEMMING is handled differently between a _word-query_ and _value-query_; a _value-query_ only indexes using basic stemming. DISCUSSION A word may have more than one stem. For example, cts:stem ('placing') returns place placing To ...
SUMMARY When an SSL certificate is expired or out of date, it is necessary to renew the SSL certificates applied to a MarkLogic Application Server. The following general steps are required to apply an SSL certificate. * Create a certificate request...
INTRODUCTION This article will outline a general strategy for distributing a specific task across every node in a server. There are situations where you would like to execute queries against a number of hosts in a cluster - one such example would be to...
INTRODUCTION This article discusses version differences of temporal documents in MarkLogic Server. DETAILS MarkLogic Server 8 does not storing the "difference" for temporal documents. Each version of the temporal document is a full document. At the ...
INTRODUCTION Interoperation of Temporal support with other MarkLogic features. FEATURES THAT SUPPORT TEMPORAL COLLECTIONS MarkLogic's Temporal feature is built-in to the server and is supported by many of MarkLogic's power features: Search API, Semant...
INTRODUCTION How do you find all versions of a temporal document? DETAILS In MarkLogic Server, a temporal document is managed as a series of versioned documents in a protected temporal collection. In addition, each temporal document added creates anot...
INTRODUCTION Allen and ISO operators are comparison operators that can be used in temporal queries. DETAILS Both operator sets are used to represent relations between two intervals. ISO operators are more general and usually can be represented by a co...
INTRODUCTION For terms stored in the index, the _position list_ tracks where they appear within the document. Positions are used to resolve queries where distance between terms matter (for example near queries where a term can appear_ n_ words away from ...
INTRODUCTION Binary documents often have various associated metadata. For example, an image may have metadata like a timestamp of when and where it was taken, and so on. MarkLogic Server server offers the ability to extract this metadata information fro...
TIMEZONE INFORMATION AND MARKLOGIC SUMMARY This article discusses the effect of the implicit timezone on date/time values as indexed and retrieved. DISCUSSION TIMEZONE INFORMATION AND INDEXES Values are stored in the index effectively in UTC, withou...
INTRODUCTION XQuery modules can be imported from other XQuery modules in MarkLogic Server. This article describes how modules are resolved in MarkLogic when they are imported in Xquery. DETAILS HOW MODULES ARE IMPORTED IN CODE Modules can be impor...
SUMMARY There are a number of options for transferring data between MarkLogic Server clusters. The best option for your particular circumstances will depend on your use case. DETAILS DATABASE BACKUP AND RESTORE To transfer the data between two indepe...
SUMMARY: MarkLogic allows the use of SSL certificates to be used when securing application servers. This article explains some common issues seen when importing certificates, as well as methods to troubleshoot problems. IMPORTING A CERTIFICATE INTO MAR...
SUMMARY  This article is intended to help investigate certain Kerberos External Authentication issues, since most of the Kerberos Security authentication requires much more IT involvement, below are few areas we recommend to investigate before involving ...
INTRODUCTION With the introduction of Certificate Based Authentication [https://docs.marklogic.com/guide/security/security-based-auth] in MarkLogic 9, users can now log into a MarkLogic without entering user/password credentials. Configuring a MarkLogi...
SUMMARY File and semaphore errors (such as SVC-FILREM & SVC-SEMPOST) seen on MarkLogic Servers running on the Microsoft Windows platform can sometimes be attributed to Windows file system handling of MarkLogic Data files. This article covers a number o...
SUMMARY There are situations where the XDMP-BACKDIRSPACE error occurs while backing up a database. This article explains how this condition can occur and describes a number of strategies to troubleshoot and to determine root cause. Under normal operati...
SUMMARY Sometimes, following a manual merge, a number of deleted fragments -- usually small number -- are left behind after the merge completes. In a system that is undergoing steady updates, one will observe that the number of deleted fragments will go ...
SUMMARY MarkLogic server monitoring dashboard provides a way to Monitor Disk Usage which is a key monitoring metric. Comparing the disk usage shown on monitoring dashboard with Disk space on filesystem (for example, using df -h) reveals difference betwe...
INTRODUCTION On a typical online transactional project it's not uncommon, at the end of the project to discover when running at scale that simple tasks unexpectedly take much longer than expected. You're surprised because your team know how to avoid writ...
INTRODUCTION To simplify the calculation, the documentation for disk space requirements section of the MarkLogic Installation guide [http://docs.marklogic.com/guide/installation/intro#id_11335] states that starting from MARKLOGIC 7, the minimum disk spa...
VALUE QUERIES SUMMARY Here we summarize some characteristics of value queries and compare to other approaches. DISCUSSION CHARACTERISTICS Punctuation and space tokens are not indexed as words in the universal index. Therefore, word-queries involving...
INTRODUCTION Slow journal frame log entries will be logged at WARNING level in your ErrorLog file and will mention something like this: > .....journal frame took 28158 ms to journal... EXAMPLES 2016-11-17 18:38:28.476 Warning: forest Documents JOURNA...
MARKLOGIC SERVER LOGGING: SLOW INFRASTRUCTURE NOTIFICATIONS INTRODUCTION As of _MarkLogic Server_ versions 8.0-6.8 and 9.0-3, MarkLogic Server has added logging to note and help diagnose slowness. DETAILS _MarkLogic Server_ makes extensive use of fi...
INTRODUCTION In the past, we have heard concerns from customers with regard to exactly how our scoring works. A couple of examples from Stack Overflow include: * http://stackoverflow.com/questions/12953333/marklogic-score-calculation [http://stackover...
INTRODUCTION A common problem that is often encountered is when code which otherwise worked fine in a development environment is deployed to production and suddenly begin to show apparent signs of performance degredation. There could be many reasons for ...
INTRODUCTION MarkLogic Sever sends log messages to both the operating system log and the MarkLogic Server file log. This server log file is maintained as a simple text file. You may view/access the log files from the 'Log' tab on the main page of the Ad...
INTRODUCTION In early 2015, a significant security vulnerability was found in the glibc package. Glibc is an implementation of the standard C library and is a core part of all our currently supported Linux distributions. A code audit was performed by the...
INTRODUCTION This KnowledgeBase article will cover the use of Journal files by MarkLogic server. The concept of Journalling is covered in many places in our documentation [http://docs.marklogic.com/]. The aim of this article is to augment the online do...
INTRODUCTION Here we will describe how to see in detail the effect of running the rebalancer, before it is enabled. ADMIN UI The Admin UI lets you check the state of the rebalancer, along with an estimated completion time if running, on the Database S...
SUMMARY Internally, MarkLogic Server maps URIs to hash values. Hash values are just numbers. For internal operations, numbers are easier to process and are more performant than strings. We refer the URI hash as a URI Key. DETAILS WHERE WOULD I SEE A U...
SUMMARY This article describes the errors thrown when decoding URLs and how to detect invalid characters to avoid the errors DETAILS When decoding certain URLs using xdmp:url-decode(), it is possible that certain characters will cause one of two err...
INTRODUCTION There are two ways of leveraging SSDs that can be used independently or simultaneously. FAST DATA DIRECTORY In the forest configuration for each forest, you can configure a Fast Data Directory. The Fast Data Directory is designed for fast...
TIERED STORAGE MarkLogic Server allows you to manage your data at different _tiers_ of storage and computation environments, with the top-most tier providing the fastest access to your most critical data and the lowest tier providing the slowest access ...
INTRODUCTION Database replication can be used to replicate the contents of a database spanning a cluster to forests on a similarly configured cluster. The most common use of database replication is to keep two identical MarkLogic clusters in sync with ea...
INTRODUCTION This Knowledgebase article demonstrates how you can use the KeyStore Explorer [http://keystore-explorer.org/] tools to generate a CA ROOT CERTIFICATE and end-user certificates for use with MarkLogic Server (for Application Servers which are ...
INTRODUCTION: MARKLOGIC'S SHARED NOTHING ARCHITECTURE Each node in your cluster maintains: * Its own set of group level caches; * A stack of application servers; * All configuration files to allow it to understand the entire topology of the clust...
INTRODUCTION Can MarkLogic Server be used behind a caching proxy such as Squid [http://www.squid-cache.org/]? We present some general pointers and tips for setting up Squid [http://www.squid-cache.org/], and we provide an example of how you can use Mar...
Introduction _mlstat_ is a command line tool that monitors various aspects of MarkLogic Server performance. It is runs on the MarkLogic node itself and is modeled on the classic Unix tools like vmstat and mpstat. It is designed to be always on, runnin...
INTRODUCTION MarkLogic uses the LDAP "_memberOf_" attribute to determine group membership for authorising access to specific security roles, however by default, the "memberOf" attribute is not enabled in an OpenLDAP server. This article will show to ena...
ABSTRACT perf is a tool that can help analyze the performance of a process on Linux. DISCUSSION Often, pstack is recommended as a way of understanding the behavior of MarkLogic Server. pstack works by pausing the MarkLogic process and printing out an ...
INTRODUCTION In this Knowledgebase article, we will show you how the rebalancer can be used to migrate data from a filesystem mount to another separate mount. This scenario could occur, for example, if you created some forests and initially did not spe...
INTRODUCTION Special care may need to be taken when loading documents into MarkLogic Server where the document URI contains one or more special characters. In this article, we will walk through a scenario where exceptions are thrown if such a URI with sp...
INTRODUCTION A document uniform resource identifier (URI) [http://en.wikipedia.org/wiki/Uniform_resource_identifier] is a string [http://en.wikipedia.org/wiki/Character_string_(computer_science)] of characters [http://en.wikipedia.org/wiki/Character_(com...
INTRODUCTION                                                                                              MarkLogic Server is a highly scalable, high performance Enterprise NoSQL database platform. Configuring a MarkLogic cluster to run as virtual machi...
SUMMARY In releases 8.0-5.3 and 7.0-6.4, we've added code to detect lagged operations and log warnings. FAST QUERY TIMESTAMP Every forest has a notion of a "fast query timestamp", also sometimes referred to as a "nonblocking timestamp". This is the ma...
SUMMARY Customers will sometimes run into strange issues when submitting requests to a WebDAV application server from HTTP clients. DETAIL The purpose of WebDAV application servers in MarkLogic is to support the additional HTTP methods provided by...
INTRODUCTION The session timeout in the XDBC Admin UI [http://docs.marklogic.com/admin-help/xdbc-server] page controls the timeout of the server session object. This is different from the XCC client [http://docs.marklogic.com/guide/xcc/intro] session obj...
INTRODUCTION An issue that has been brought to our attention in the past is one where a nightly scheduled backup is set up by a System Administrator and left to diligently work away in the background. Elsewhere, another team (or System Administrator) per...
SUMMARY It's a lot easier to think of what a directory is useful for rather than to state what it is. Directories are a powerful and efficient way to group documents in a database. While collections are also powerful and efficient, directories have alway...
INTRODUCTION XDQP is a MarkLogic internal protocol used for communication between nodes in a cluster. This protocol version must be the same on all hosts of the cluster, and XDMP-XDQPVER message is logged if the versions are not the same. Example mess...
SUMMARY MarkLogic Server can ingest and query all sorts of data such as XML, text, JSON, binary, generic, etc. - and it can do so with both great speed and scale. This article contains a simple rule of thumb to determine when you should do some query or ...
MarkLogic Server is designed to scale horizontally, and goes to great effort to make sure queries can be parallelized independently of one another. Nevertheless, there are occasions where users will run into an issue where, when invoked in parallel, so...
INTRODUCTION: When trying to restore from a backup previously taken, the XDMP-BACKDIRINUSE error message may sometimes be encountered: XDMP-BACKDIRINUSE - Backup data directory currently has a backup job in progress As described, the most common oc...
INTRODUCTION It is possible to encounter an XDMP-RIDXTOOBIG error during a database merge - for example, you may see an error that looks similar to: XDMP-FORESTNOT: Forest ... not available: XDMP-FORESTERR: Error in merge of forest ...: XDMP-RIDXTOOBIG...
SUMMARY Default Inter-node communication within MarkLogic cluster is done by XDQP (XML Data Query Protocol) on non-secure channel, with the assumption that all nodes reside within same secure network. However, you can set the "XDQP SSL enabled" [http://d...
SUMMARY MarkLogic uses a proprietary protocol for internal communication between nodes in a cluster. This article is describes the XML Data Query Protocol (XDQP) and related configuration settings. XDQP VERSION: Each MarkLogic Server release communica...
XML SERIALIZATION AND OUTPUT OPTIONS XML AS STORED IN MARKLOGIC SERVER MarkLogic Server starts by parsing and indexing the document contents, converting the document from serialized XML (what you see in a file) to a compressed binary fragment representa...
INTRODUCTION Fields are a great way of restricting what parts of your documents to search, based on XML element QNames or JSON propertyNames [https://help.marklogic.com/Knowledgebase/Article/View/106/0/best-practices-when-trying-to-search-or-not-search-p...
SUMMARY The ampersand is a special character used to denote a predefined entity reference in a string literal. XQUERY W3C RECOMMENDATION Can be found at http://www.w3.org/TR/xquery-30/ [http://www.w3.org/TR/xquery-30/] . Section 2.4.5 'URI Literals'...
INTRODUCTION This article discusses the use of XQuery in JavaScript and vice versa. USING XQUERY IN JAVASCRIPT A JavaScript module in MarkLogic can also import an XQuery library and access its functions and variables as if they were JavaScript. If you...
Introduction The first time a query is executed, it will take longer to execute than subsequent runs. This extra time for the first runs become more pronounced when importing large libraries. Why is this so and is there anything that we can do to improv...