[logback-dev] Improving Joran's RuleStore performance

ceki ceki at qos.ch
Fri Jun 21 00:15:03 CEST 2013


On 20.06.2013 23:27, Niall Gallagher wrote:
> Hi Ceki,
>
> Just wondering about the SUB-STRING patterns, such as "*/if/then/*" and
> "*/if/else/*".
>
> I'm currently working on adding a permuterm tree to the
> concurrent-trees[1] project. It will support fast retrieval from the
> tree for wildcard queries like: X, X*, *X, *X*, X*Y. These patterns
> would be fully accelerated.

The *X* variant fits the sub-string patterns used in Joran. While
traversing the elements of an XML document, I would like to compute if
*X* is the path defined by current location in the XML document. This
seems to be different (or even unrelated) to the problem of checking
whether *X* matches one of the keys inserted previously into an ADT
such as a trie.

> It looks like the *X* variant might fit your sub-string patterns.
>
> It's also possible to have partial acceleration for additional patterns
> such as X*Y*Z, *X*Y*Z, *X*Y*Z* and so on with any number of terms, which
> involves using the first and last terms to find a candidate set in the
> tree and then doing on-the-fly filtering for the terms in the middle.

I am curious. Is "autocomplete" in presence of typos the use case for 
such patterns?

> Would that help? I'm about 80% of the way to completion.
>
> [1] https://code.google.com/p/concurrent-trees/
>
> Niall
>


-- 
Ceki
65% of statistics are made up on the spot


More information about the logback-dev mailing list