public class SearchLanguageConversion extends Object
Modifier and Type | Class and Description |
---|---|
static class |
SearchLanguageConversion.LanguageDefinition
Simple store of special characters for a given query language
|
Modifier and Type | Field and Description |
---|---|
static SearchLanguageConversion.LanguageDefinition |
DEF_CIFS
CIFS name patch query language summary:
Escape: \ (but not used)
Single char search: ?
Multiple char search: *
Reserved: "*\<>?/:|£%&+;
|
static SearchLanguageConversion.LanguageDefinition |
DEF_LUCENE
Lucene syntax summary: Lucene Query Parser
|
static SearchLanguageConversion.LanguageDefinition |
DEF_LUCENE_INTERNAL |
static SearchLanguageConversion.LanguageDefinition |
DEF_REGEX
Regular expression query language summary:
Escape: \
Single char search: .
Multiple char search: .*
Reserved: \*.+?^$(){}[]|
|
static SearchLanguageConversion.LanguageDefinition |
DEF_SQL_LIKE
SQL like query language summary:
Escape: \
Single char search: _
Multiple char search: %
Reserved: \%_
|
static SearchLanguageConversion.LanguageDefinition |
DEF_XPATH_LIKE
XPath like query language summary:
Escape: \
Single char search: _
Multiple char search: %
Reserved: \%_
|
Constructor and Description |
---|
SearchLanguageConversion() |
Modifier and Type | Method and Description |
---|---|
static String |
convert(SearchLanguageConversion.LanguageDefinition from,
SearchLanguageConversion.LanguageDefinition to,
String query) |
static String |
convertCifsToLucene(String cifsNamePath)
Convert a CIFS name path into the equivalent Lucene query.
|
static String |
convertSQLLikeToLucene(String sqlLikeClause)
Convert a sql like function clause into a Lucene query.
|
static String |
convertSQLLikeToRegex(String sqlLikeClause)
Convert a sql like function clause into a regex query.
|
static String |
convertXPathLikeToLucene(String xpathLikeClause)
Convert an xpath like function clause into a Lucene query.
|
static String |
convertXPathLikeToRegex(String xpathLikeClause)
Convert an xpath like function clause into a regex query.
|
static String |
escapeForLucene(String str)
Escape a string according to the Lucene query syntax.
|
static String |
escapeForRegex(String str)
Escape a string according to the regex language syntax.
|
static String |
escapeForXPathLike(String str)
Escape a string according to the XPath like function syntax.
|
static String |
escapeLuceneQuery(String query)
We have to escape lucene query strings outside of lucene - as we do not depend on any given version of lucene
The escaping here is taken from lucene 4.9.0
The reserved (and escaped characters) are:
\ + - ! ( ) : ^ [ ] " { } ~ * ? | & /
The escape character is \
|
static String[] |
tokenizeString(String query) |
public static SearchLanguageConversion.LanguageDefinition DEF_SQL_LIKE
public static SearchLanguageConversion.LanguageDefinition DEF_XPATH_LIKE
public static SearchLanguageConversion.LanguageDefinition DEF_REGEX
public static SearchLanguageConversion.LanguageDefinition DEF_LUCENE
public static SearchLanguageConversion.LanguageDefinition DEF_LUCENE_INTERNAL
public static SearchLanguageConversion.LanguageDefinition DEF_CIFS
public static String escapeForXPathLike(String str)
str
- the string to escapepublic static String escapeForRegex(String str)
str
- the string to escapepublic static String escapeForLucene(String str)
str
- the string to escapepublic static String convertXPathLikeToRegex(String xpathLikeClause)
xpathLikeClause
- Stringpublic static String convertXPathLikeToLucene(String xpathLikeClause)
xpathLikeClause
- Stringpublic static String convertSQLLikeToLucene(String sqlLikeClause)
sqlLikeClause
- Stringpublic static String convertSQLLikeToRegex(String sqlLikeClause)
sqlLikeClause
- Stringpublic static String convertCifsToLucene(String cifsNamePath)
cifsNamePath
- the CIFS named pathpublic static String convert(SearchLanguageConversion.LanguageDefinition from, SearchLanguageConversion.LanguageDefinition to, String query)
public static String escapeLuceneQuery(String query)
query
- StringCopyright © 2005–2017 Alfresco Software. All rights reserved.