HumHub Documentation (unofficial)

QueryParser extends AbstractFSM
in package

Abstract Finite State Machine

Tags
category

Zend

subpackage

Search

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_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

$_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()

$_lastToken

Last token

private QueryToken $_lastToken = null

It can be processed within FSM states, but this addirional state simplifies FSM

$_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.

Use , and to operate with this setting.

$_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
throws
InvalidArgumentException

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
throws
InvalidArgumentException

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
throws
InvalidArgumentException

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
throws
InvalidArgumentException
throws
RuntimeException

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
throws
InvalidArgumentException

closedRQFirstTerm()

Process first range query term (closed interval)

public closedRQFirstTerm() : void

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
string

getDefaultEncoding()

Get query string default encoding

public static getDefaultEncoding() : string
Return values
string

getDefaultOperator()

Get default boolean operator

public static getDefaultOperator() : int
Return values
int

getState()

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

processFuzzyProximityModifier()

Process fuzzy search/proximity modifier - '~'

public processFuzzyProximityModifier() : void

queryParsingExceptionsSuppressed()

Check 'suppress query parser exceptions' mode.

public static queryParsingExceptionsSuppressed() : bool
Return values
bool

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

subqueryEnd()

End subquery

public subqueryEnd() : void

subqueryStart()

Start subquery

public subqueryStart() : void

suppressQueryParsingExceptions()

Turn on 'suppress query parser exceptions' mode.

public static suppressQueryParsingExceptions() : void
Loading…
On this page

Search results