XML Data Modeling Suggestions

Author: Dave Cassel  |  Category: Software Development

Before I can talk about data modeling, I need to quickly address something else. At MarkLogic, we often talk about how we can take data as-is and do great stuff with it. If we can do great stuff with data as-is, why do we need to do data modeling? There are a couple reasons. First, […]

Refocusing

Author: Dave Cassel  |  Category: Career

My posts have been sparse over the last several months. That’s because I’ve been working on a MarkLogic book. For reasons I’m not going to get into here, I no longer plan to finish that book. The good news is that what I had written so far should give me a good number of blog […]

Wildcards in MarkLogic date queries

Author: Dave Cassel  |  Category: Software Development

I have another reader question today, also from Amit. To summarize, he’s using the Search API and has set up a range constraint like so:   <options xmlns=”http://marklogic.com/appservices/search”>     <constraint name=”date”>    <range type=”xs:date” facet=”false”>         <element ns=”http://www.marklogic.com/app/meta” name=”Date”/>       </range>     </constraint> </options> So far, so good. But the query that […]

Controlling Search Scores

Author: Dave Cassel  |  Category: Software Development

Tonight’s post is based on a question from Amit, a reader: I am back again with a doubt. Now we know that the default algorithm used by Marklogic is “score-logtfidf” for the relevance calculation.  Now in my project, this is the default option as well, but what it is doing is it is giving preference […]

Redirecting responses from the rewriter in MarkLogic

Author: Dave Cassel  |  Category: Software Development

Update: I got some feedback on this post that amounted to “Wha???” Rereading it, I see that I really went into the esoteric for this one. After spending some time dealing with a very specific problem, I posted the solution, but it’s a problem you’re not very likely to encounter. If you do and you’re […]

Directory Creation setting

Author: Dave Cassel  |  Category: Software Development

The “directory creation” database setting is one of the first things I change for a new database. The default is “automatic”, but I switch it to “manual”, as I was taught by more experienced developers when I joined MarkLogic. The reason given was performance — use manual so that MarkLogic doesn’t bother creating directories. I’ve […]

Converting CSV to XML

Author: Dave Cassel  |  Category: Software Development

I just published an XQuery library to GitHub to convert lines of Comma Separated Value data to XML. That can probably be done more simply if you don’t care what the XML looks like, but I wanted to build templates so that I could get good structure. I also built in an action mechanism, so that […]

Priority Task Spawning in MarkLogic 5

Author: Dave Cassel  |  Category: Software Development

MarkLogic has long had the ability to spawn tasks, consisting of a module, a set of variables and some options. Those tasks go into the task queue and get worked off by the configured number of threads. A new feature in MarkLogic 5 gives a new option: higher priority tasks. Let’s take a look at […]

Range Indexes and Empty Elements

Author: Dave Cassel  |  Category: Software Development

I’ve started a couple posts lately, only to find them more complex than expected. So to get myself back on the board, tonight you get a pretty simple one, based on an error one of my colleagues encountered recently. Suppose we have an int range element index set up on <count/> in our MarkLogic database. xdmp:document-insert( […]

Sneak Peak: ImageMagick in MarkLogic

Author: Dave Cassel  |  Category: Software Development

Today I get to give you a sneak peak into a feature that’s not yet officially present, but you’ll find if you know where to look: XQuery-level integration with ImageMagick! In this post I demonstrate automatically scaling down large images for CurioVault.com.