\Zend_Search_Lucene_Search_QueryLexer
- Copyright: Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- License: http://framework.zend.com/license/new-bsd New BSD License
Synopsis
class Zend_Search_Lucene_Search_QueryLexer
extends Zend_Search_Lucene_FSM
{
- // constants
- const ST_WHITE_SPACE = 0;
- const ST_SYNT_LEXEME = 1;
- const ST_LEXEME = 2;
- const ST_QUOTED_LEXEME = 3;
- const ST_ESCAPED_CHAR = 4;
- const ST_ESCAPED_QCHAR = 5;
- const ST_LEXEME_MODIFIER = 6;
- const ST_NUMBER = 7;
- const ST_MANTISSA = 8;
- const ST_ERROR = 9;
- const IN_WHITE_SPACE = 0;
- const IN_SYNT_CHAR = 1;
- const IN_LEXEME_MODIFIER = 2;
- const IN_ESCAPE_CHAR = 3;
- const IN_QUOTE = 4;
- const IN_DECIMAL_POINT = 5;
- const IN_ASCII_DIGIT = 6;
- const IN_CHAR = 7;
- const IN_MUTABLE_CHAR = 8;
- const QUERY_WHITE_SPACE_CHARS = " \n\r\t";
- const QUERY_SYNT_CHARS = ':()[]{}!|&';
- const QUERY_MUTABLE_CHARS = '+-';
- const QUERY_DOUBLECHARLEXEME_CHARS = '|&';
- const QUERY_LEXEMEMODIFIER_CHARS = '~^';
- const QUERY_ASCIIDIGITS_CHARS = '0123456789';
- // members
- private $_lexemes;
- private $_queryString;
- private $_queryStringPosition;
- private $_currentLexeme;
- // methods
- public void __construct()
- private integer _translateInput()
- public array tokenize()
- public void addQuerySyntaxLexeme()
- public void addLexemeModifier()
- public void addLexeme()
- public void addQuotedLexeme()
- public void addNumberLexeme()
- public void addLexemeChar()
- private string _positionMsg()
- public void lexModifierErrException()
- public void quoteWithinLexemeErrException()
- public void wrongNumberErrException()
- // Inherited methods from Zend_Search_Lucene_FSM
- public void __construct()
- public void addStates()
- public void addState()
- public void setState()
- public integer|string getState()
- public void addInputSymbols()
- public void addInputSymbol()
- public void addRules()
- public void addRule()
- public void addEntryAction()
- public void addExitAction()
- public void addInputAction()
- public void addTransitionAction()
- public void process()
- public void reset()
Hierarchy
Extends
Constants
Name | Value |
---|---|
ST_WHITE_SPACE | 0 |
ST_SYNT_LEXEME | 1 |
ST_LEXEME | 2 |
ST_QUOTED_LEXEME | 3 |
ST_ESCAPED_CHAR | 4 |
ST_ESCAPED_QCHAR | 5 |
ST_LEXEME_MODIFIER | 6 |
ST_NUMBER | 7 |
ST_MANTISSA | 8 |
ST_ERROR | 9 |
IN_WHITE_SPACE | 0 |
IN_SYNT_CHAR | 1 |
IN_LEXEME_MODIFIER | 2 |
IN_ESCAPE_CHAR | 3 |
IN_QUOTE | 4 |
IN_DECIMAL_POINT | 5 |
IN_ASCII_DIGIT | 6 |
IN_CHAR | 7 |
IN_MUTABLE_CHAR | 8 |
QUERY_WHITE_SPACE_CHARS | " \n\r\t" |
QUERY_SYNT_CHARS | ':()[]{}!|&' |
QUERY_MUTABLE_CHARS | '+-' |
QUERY_DOUBLECHARLEXEME_CHARS | '|&' |
QUERY_LEXEMEMODIFIER_CHARS | '~^' |
QUERY_ASCIIDIGITS_CHARS | '0123456789' |
Members
private
- $_currentLexeme
—
string
Recognized part of current lexeme - $_lexemes
—
array
List of recognized lexemes - $_queryString
—
array
Query string (array of single- or non single-byte characters) - $_queryStringPosition
—
integer
Current position within a query string Used to create appropriate error messages
Methods
private
- _positionMsg() — Position message
- _translateInput() — Translate input char to an input symbol of state machine
public
- __construct()
- addLexeme() — Add lexeme
- addLexemeChar() — Extend lexeme by one char
- addLexemeModifier() — Add lexeme modifier
- addNumberLexeme() — Add number lexeme
- addQuerySyntaxLexeme() — Add query syntax lexeme
- addQuotedLexeme() — Add quoted lexeme
- lexModifierErrException()
- quoteWithinLexemeErrException()
- tokenize() — This method is used to tokenize query string into lexemes
- wrongNumberErrException()
Inherited from Zend_Search_Lucene_FSM
public
- addEntryAction() — Add state entry action.
- addExitAction() — Add state exit action.
- addInputAction() — Add input action (defined by {state, input} pair).
- addInputSymbol() — Add symbol to the input alphabet
- addInputSymbols() — Add symbols to the input alphabet
- addRule() — Add symbol to the input alphabet
- addRules() — Add transition rules
- addState() — Add state to the state machine
- addStates() — Add states to the state machine
- addTransitionAction() — Add transition action (defined by {state, input} pair).
- getState() — Get FSM state.
- process() — Process an input
- reset()
- setState() — Set FSM state.