QueryParser
extends AbstractFSM
in package
Abstract Finite State Machine
Tags
Table of Contents
Constants
- B_AND = 1
- B_OR = 0
- Boolean operators constants
- ST_CLOSEDINT_RQ_END = 5
- ST_CLOSEDINT_RQ_FIRST_TERM = 2
- ST_CLOSEDINT_RQ_LAST_TERM = 4
- ST_CLOSEDINT_RQ_START = 1
- ST_CLOSEDINT_RQ_TO_TERM = 3
- ST_COMMON_QUERY_ELEMENT = 0
- Query parser State Machine states
- ST_OPENEDINT_RQ_END = 10
- ST_OPENEDINT_RQ_FIRST_TERM = 7
- ST_OPENEDINT_RQ_LAST_TERM = 9
- ST_OPENEDINT_RQ_START = 6
- ST_OPENEDINT_RQ_TO_TERM = 8
Properties
- $_context : QueryParserContext
- Current query parser context
- $_contextStack : array<string|int, mixed>
- Context stack
- $_currentState : int|string
- Current state
- $_currentToken : int|string
- Current token
- $_defaultEncoding : string
- Query string default encoding
- $_defaultOperator : int
- Default boolean queries operator
- $_encoding : string
- Query string encoding
- $_entryActions : array<string|int, mixed>
- List of entry actions Each action executes when entering the state
- $_exitActions : array<string|int, mixed>
- List of exit actions Each action executes when exiting the state
- $_inputActions : array<string|int, mixed>
- List of input actions Each action executes when entering the state
- $_inputAphabet : array<string|int, mixed>
- Input alphabet
- $_instance : QueryParser
- Parser instance
- $_lastToken : QueryToken
- Last token
- $_lexer : QueryLexer
- Query lexer
- $_rqFirstTerm : string
- Range query first term
- $_rules : array<string|int, mixed>
- State transition table
- $_states : array<string|int, mixed>
- Machine States alphabet
- $_suppressQueryParsingExceptions : bool
- Defines query parsing mode.
- $_tokens : array<string|int, mixed>
- Tokens list Array of Zend_Search_Lucene_Search_QueryToken objects
- $_transitionActions : array<string|int, mixed>
- List of input actions Each action executes when entering the state
Methods
- __construct() : mixed
- Parser constructor
- addEntryAction() : void
- Add state entry action.
- addExitAction() : void
- Add state exit action.
- addInputAction() : void
- Add input action (defined by {state, input} pair).
- addInputSymbol() : void
- Add symbol to the input alphabet
- addInputSymbols() : void
- Add symbols to the input alphabet
- addPhraseEntry() : void
- Add phrase to a query
- addRule() : void
- Add symbol to the input alphabet
- addRules() : void
- Add transition rules
- addState() : void
- Add state to the state machine
- addStates() : void
- Add states to the state machine
- addTermEntry() : void
- Add term to a query
- addTransitionAction() : void
- Add transition action (defined by {state, input} pair).
- closedRQFirstTerm() : void
- Process first range query term (closed interval)
- closedRQLastTerm() : void
- Process last range query term (closed interval)
- dontSuppressQueryParsingExceptions() : void
- Turn off 'suppress query parser exceptions' mode.
- escape() : string
- Escape keyword to force it to be parsed as one term
- getDefaultEncoding() : string
- Get query string default encoding
- getDefaultOperator() : int
- Get default boolean operator
- getState() : int|string
- Get FSM state.
- logicalOperator() : void
- Process logical operator
- openedRQFirstTerm() : void
- Process first range query term (opened interval)
- openedRQLastTerm() : void
- Process last range query term (opened interval)
- parse() : AbstractQuery
- Parses a query string
- process() : void
- Process an input
- processFuzzyProximityModifier() : void
- Process fuzzy search/proximity modifier - '~'
- processModifierParameter() : void
- Process modifier parameter
- queryParsingExceptionsSuppressed() : bool
- Check 'suppress query parser exceptions' mode.
- reset() : void
- setDefaultEncoding() : void
- Set query string default encoding
- setDefaultOperator() : void
- Set default boolean operator
- setField() : void
- Set entry field
- setSign() : void
- Set entry sign
- setState() : void
- Set FSM state.
- subqueryEnd() : void
- End subquery
- subqueryStart() : void
- Start subquery
- suppressQueryParsingExceptions() : void
- Turn on 'suppress query parser exceptions' mode.
- _getInstance() : QueryParser
- Get query parser instance
Constants
B_AND
public
mixed
B_AND
= 1
B_OR
Boolean operators constants
public
mixed
B_OR
= 0
ST_CLOSEDINT_RQ_END
public
mixed
ST_CLOSEDINT_RQ_END
= 5
ST_CLOSEDINT_RQ_FIRST_TERM
public
mixed
ST_CLOSEDINT_RQ_FIRST_TERM
= 2
ST_CLOSEDINT_RQ_LAST_TERM
public
mixed
ST_CLOSEDINT_RQ_LAST_TERM
= 4
ST_CLOSEDINT_RQ_START
public
mixed
ST_CLOSEDINT_RQ_START
= 1
ST_CLOSEDINT_RQ_TO_TERM
public
mixed
ST_CLOSEDINT_RQ_TO_TERM
= 3
ST_COMMON_QUERY_ELEMENT
Query parser State Machine states
public
mixed
ST_COMMON_QUERY_ELEMENT
= 0
ST_OPENEDINT_RQ_END
public
mixed
ST_OPENEDINT_RQ_END
= 10
ST_OPENEDINT_RQ_FIRST_TERM
public
mixed
ST_OPENEDINT_RQ_FIRST_TERM
= 7
ST_OPENEDINT_RQ_LAST_TERM
public
mixed
ST_OPENEDINT_RQ_LAST_TERM
= 9
ST_OPENEDINT_RQ_START
public
mixed
ST_OPENEDINT_RQ_START
= 6
ST_OPENEDINT_RQ_TO_TERM
public
mixed
ST_OPENEDINT_RQ_TO_TERM
= 8
Properties
$_context
Current query parser context
private
QueryParserContext
$_context
$_contextStack
Context stack
private
array<string|int, mixed>
$_contextStack
$_currentState
Current state
private
int|string
$_currentState
= null
$_currentToken
Current token
private
int|string
$_currentToken
$_defaultEncoding
Query string default encoding
private
string
$_defaultEncoding
= ''
$_defaultOperator
Default boolean queries operator
private
int
$_defaultOperator
= self::B_OR
$_encoding
Query string encoding
private
string
$_encoding
$_entryActions
List of entry actions Each action executes when entering the state
private
array<string|int, mixed>
$_entryActions
= array()
[state] => action
$_exitActions
List of exit actions Each action executes when exiting the state
private
array<string|int, mixed>
$_exitActions
= array()
[state] => action
$_inputActions
List of input actions Each action executes when entering the state
private
array<string|int, mixed>
$_inputActions
= array()
[state][input] => action
$_inputAphabet
Input alphabet
private
array<string|int, mixed>
$_inputAphabet
= array()
$_instance
Parser instance
private
static QueryParser
$_instance
= null
$_lastToken
Last token
private
QueryToken
$_lastToken
= null
It can be processed within FSM states, but this addirional state simplifies FSM
$_lexer
Query lexer
private
QueryLexer
$_lexer
$_rqFirstTerm
Range query first term
private
string
$_rqFirstTerm
= null
$_rules
State transition table
private
array<string|int, mixed>
$_rules
= array()
[sourceState][input] => targetState
$_states
Machine States alphabet
private
array<string|int, mixed>
$_states
= array()
$_suppressQueryParsingExceptions
Defines query parsing mode.
private
bool
$_suppressQueryParsingExceptions
= true
If this option is turned on, then query parser suppress query parser exceptions and constructs multi-term query using all words from a query.
That helps to avoid exceptions caused by queries, which don't conform to query language, but limits possibilities to check, that query entered by user has some inconsistencies.
Default is true.
$_tokens
Tokens list Array of Zend_Search_Lucene_Search_QueryToken objects
private
array<string|int, mixed>
$_tokens
$_transitionActions
List of input actions Each action executes when entering the state
private
array<string|int, mixed>
$_transitionActions
= array()
[state1][state2] => action
Methods
__construct()
Parser constructor
public
__construct() : mixed
addEntryAction()
Add state entry action.
public
addEntryAction(int|string $state, FSMAction $action) : void
Several entry actions are allowed. Action execution order is defined by addEntryAction() calls
Parameters
- $state : int|string
- $action : FSMAction
Tags
addExitAction()
Add state exit action.
public
addExitAction(int|string $state, FSMAction $action) : void
Several exit actions are allowed. Action execution order is defined by addEntryAction() calls
Parameters
- $state : int|string
- $action : FSMAction
Tags
addInputAction()
Add input action (defined by {state, input} pair).
public
addInputAction(int|string $state, int|string $inputSymbol, FSMAction $action) : void
Several input actions are allowed. Action execution order is defined by addInputAction() calls
Parameters
- $state : int|string
- $inputSymbol : int|string
- $action : FSMAction
Tags
addInputSymbol()
Add symbol to the input alphabet
public
addInputSymbol(int|string $inputSymbol) : void
Parameters
- $inputSymbol : int|string
addInputSymbols()
Add symbols to the input alphabet
public
addInputSymbols(array<string|int, mixed> $inputAphabet) : void
Parameters
- $inputAphabet : array<string|int, mixed>
addPhraseEntry()
Add phrase to a query
public
addPhraseEntry() : void
addRule()
Add symbol to the input alphabet
public
addRule(int|string $sourceState, int|string $input, int|string $targetState[, FSMAction|null $inputAction = null ]) : void
Parameters
- $sourceState : int|string
- $input : int|string
- $targetState : int|string
- $inputAction : FSMAction|null = null
Tags
addRules()
Add transition rules
public
addRules(array<string|int, mixed> $rules) : void
array structure: array( array(sourseState, input, targetState[, inputAction]), array(sourseState, input, targetState[, inputAction]), array(sourseState, input, targetState[, inputAction]), ... )
Parameters
- $rules : array<string|int, mixed>
addState()
Add state to the state machine
public
addState(int|string $state) : void
Parameters
- $state : int|string
addStates()
Add states to the state machine
public
addStates(array<string|int, mixed> $states) : void
Parameters
- $states : array<string|int, mixed>
addTermEntry()
Add term to a query
public
addTermEntry() : void
addTransitionAction()
Add transition action (defined by {state, input} pair).
public
addTransitionAction(int|string $sourceState, int|string $targetState, FSMAction $action) : void
Several transition actions are allowed. Action execution order is defined by addTransitionAction() calls
Parameters
- $sourceState : int|string
- $targetState : int|string
- $action : FSMAction
Tags
closedRQFirstTerm()
Process first range query term (closed interval)
public
closedRQFirstTerm() : void
closedRQLastTerm()
Process last range query term (closed interval)
public
closedRQLastTerm() : void
Tags
dontSuppressQueryParsingExceptions()
Turn off 'suppress query parser exceptions' mode.
public
static dontSuppressQueryParsingExceptions() : void
escape()
Escape keyword to force it to be parsed as one term
public
static escape(string $keyword) : string
Parameters
- $keyword : string
Return values
stringgetDefaultEncoding()
Get query string default encoding
public
static getDefaultEncoding() : string
Return values
stringgetDefaultOperator()
Get default boolean operator
public
static getDefaultOperator() : int
Return values
intgetState()
Get FSM state.
public
getState() : int|string
Return values
int|string —$state|null
logicalOperator()
Process logical operator
public
logicalOperator() : void
openedRQFirstTerm()
Process first range query term (opened interval)
public
openedRQFirstTerm() : void
openedRQLastTerm()
Process last range query term (opened interval)
public
openedRQLastTerm() : void
Tags
parse()
Parses a query string
public
static parse(string $strQuery[, string $encoding = null ]) : AbstractQuery
Parameters
- $strQuery : string
- $encoding : string = null
Tags
Return values
AbstractQueryprocess()
Process an input
public
process(mixed $input) : void
Parameters
- $input : mixed
Tags
processFuzzyProximityModifier()
Process fuzzy search/proximity modifier - '~'
public
processFuzzyProximityModifier() : void
processModifierParameter()
Process modifier parameter
public
processModifierParameter() : void
Tags
queryParsingExceptionsSuppressed()
Check 'suppress query parser exceptions' mode.
public
static queryParsingExceptionsSuppressed() : bool
Return values
boolreset()
public
reset() : void
Tags
setDefaultEncoding()
Set query string default encoding
public
static setDefaultEncoding(string $encoding) : void
Parameters
- $encoding : string
setDefaultOperator()
Set default boolean operator
public
static setDefaultOperator(int $operator) : void
Parameters
- $operator : int
setField()
Set entry field
public
setField() : void
setSign()
Set entry sign
public
setSign() : void
setState()
Set FSM state.
public
setState(int|string $state) : void
No any action is invoked
Parameters
- $state : int|string
Tags
subqueryEnd()
End subquery
public
subqueryEnd() : void
subqueryStart()
Start subquery
public
subqueryStart() : void
suppressQueryParsingExceptions()
Turn on 'suppress query parser exceptions' mode.
public
static suppressQueryParsingExceptions() : void
_getInstance()
Get query parser instance
private
static _getInstance() : QueryParser