|
|
@@ -26,49 +26,10 @@
|
|
|
/** Zend_Search_Lucene_Analysis_Analyzer */
|
|
|
require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
|
|
|
|
|
|
+/** Zend_Search_Lucene_Search_QueryToken */
|
|
|
+require_once 'Zend/Search/Lucene/Search/QueryToken.php';
|
|
|
|
|
|
|
|
|
-/** Zend_Search_Lucene_Index_Term */
|
|
|
-require_once 'Zend/Search/Lucene/Index/Term.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_Query_Term */
|
|
|
-require_once 'Zend/Search/Lucene/Search/Query/Term.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_Query_MultiTerm */
|
|
|
-require_once 'Zend/Search/Lucene/Search/Query/MultiTerm.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_Query_Boolean */
|
|
|
-require_once 'Zend/Search/Lucene/Search/Query/Boolean.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_Query_Preprocessing_Phrase */
|
|
|
-require_once 'Zend/Search/Lucene/Search/Query/Preprocessing/Phrase.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_Query_Preprocessing_Term */
|
|
|
-require_once 'Zend/Search/Lucene/Search/Query/Preprocessing/Term.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_Query_Preprocessing_Fuzzy */
|
|
|
-require_once 'Zend/Search/Lucene/Search/Query/Preprocessing/Fuzzy.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_Query_Wildcard */
|
|
|
-require_once 'Zend/Search/Lucene/Search/Query/Wildcard.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_Query_Range */
|
|
|
-require_once 'Zend/Search/Lucene/Search/Query/Range.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_Query_Fuzzy */
|
|
|
-require_once 'Zend/Search/Lucene/Search/Query/Fuzzy.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_Query_Empty */
|
|
|
-require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_Query_Insignificant */
|
|
|
-require_once 'Zend/Search/Lucene/Search/Query/Insignificant.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_QueryLexer */
|
|
|
-require_once 'Zend/Search/Lucene/Search/QueryLexer.php';
|
|
|
-
|
|
|
-/** Zend_Search_Lucene_Search_QueryParserContext */
|
|
|
-require_once 'Zend/Search/Lucene/Search/QueryParserContext.php';
|
|
|
|
|
|
/** Zend_Search_Lucene_FSM */
|
|
|
require_once 'Zend/Search/Lucene/FSM.php';
|
|
|
@@ -289,7 +250,7 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
$this->addEntryAction(self::ST_CLOSEDINT_RQ_LAST_TERM, $closedRQLastTermAction);
|
|
|
|
|
|
|
|
|
-
|
|
|
+ require_once 'Zend/Search/Lucene/Search/QueryLexer.php';
|
|
|
$this->_lexer = new Zend_Search_Lucene_Search_QueryLexer();
|
|
|
}
|
|
|
|
|
|
@@ -388,6 +349,8 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
|
|
|
require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
|
|
|
try {
|
|
|
+ require_once 'Zend/Search/Lucene/Search/QueryParserContext.php';
|
|
|
+
|
|
|
self::$_instance->_encoding = ($encoding !== null) ? $encoding : self::$_instance->_defaultEncoding;
|
|
|
self::$_instance->_lastToken = null;
|
|
|
self::$_instance->_context = new Zend_Search_Lucene_Search_QueryParserContext(self::$_instance->_encoding);
|
|
|
@@ -396,6 +359,7 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
|
|
|
// Empty query
|
|
|
if (count(self::$_instance->_tokens) == 0) {
|
|
|
+ require_once 'Zend/Search/Lucene/Search/Query/Insignificant.php';
|
|
|
return new Zend_Search_Lucene_Search_Query_Insignificant();
|
|
|
}
|
|
|
|
|
|
@@ -424,10 +388,12 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
if (self::$_instance->_suppressQueryParsingExceptions) {
|
|
|
$queryTokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($strQuery, self::$_instance->_encoding);
|
|
|
|
|
|
+ require_once 'Zend/Search/Lucene/Search/Query/MultiTerm.php';
|
|
|
$query = new Zend_Search_Lucene_Search_Query_MultiTerm();
|
|
|
$termsSign = (self::$_instance->_defaultOperator == self::B_AND) ? true /* required term */ :
|
|
|
null /* optional term */;
|
|
|
|
|
|
+ require_once 'Zend/Search/Lucene/Index/Term.php';
|
|
|
foreach ($queryTokens as $token) {
|
|
|
$query->addTerm(new Zend_Search_Lucene_Index_Term($token->getTermText()), $termsSign);
|
|
|
}
|
|
|
@@ -451,6 +417,7 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
*/
|
|
|
public function addTermEntry()
|
|
|
{
|
|
|
+ require_once 'Zend/Search/Lucene/Search/QueryEntry/Term.php';
|
|
|
$entry = new Zend_Search_Lucene_Search_QueryEntry_Term($this->_currentToken->text, $this->_context->getField());
|
|
|
$this->_context->addEntry($entry);
|
|
|
}
|
|
|
@@ -460,6 +427,7 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
*/
|
|
|
public function addPhraseEntry()
|
|
|
{
|
|
|
+ require_once 'Zend/Search/Lucene/Search/QueryEntry/Phrase.php';
|
|
|
$entry = new Zend_Search_Lucene_Search_QueryEntry_Phrase($this->_currentToken->text, $this->_context->getField());
|
|
|
$this->_context->addEntry($entry);
|
|
|
}
|
|
|
@@ -523,6 +491,8 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
*/
|
|
|
public function subqueryStart()
|
|
|
{
|
|
|
+ require_once 'Zend/Search/Lucene/Search/QueryParserContext.php';
|
|
|
+
|
|
|
$this->_contextStack[] = $this->_context;
|
|
|
$this->_context = new Zend_Search_Lucene_Search_QueryParserContext($this->_encoding, $this->_context->getField());
|
|
|
}
|
|
|
@@ -540,6 +510,7 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
$query = $this->_context->getQuery();
|
|
|
$this->_context = array_pop($this->_contextStack);
|
|
|
|
|
|
+ require_once 'Zend/Search/Lucene/Search/QueryEntry/Subquery.php';
|
|
|
$this->_context->addEntry(new Zend_Search_Lucene_Search_QueryEntry_Subquery($query));
|
|
|
}
|
|
|
|
|
|
@@ -571,6 +542,7 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
|
|
|
throw new Zend_Search_Lucene_Search_QueryParserException('Range query boundary terms must be non-multiple word terms');
|
|
|
} else if (count($tokens) == 1) {
|
|
|
+ require_once 'Zend/Search/Lucene/Index/Term.php';
|
|
|
$from = new Zend_Search_Lucene_Index_Term(reset($tokens)->getTermText(), $this->_context->getField());
|
|
|
} else {
|
|
|
$from = null;
|
|
|
@@ -581,6 +553,7 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
|
|
|
throw new Zend_Search_Lucene_Search_QueryParserException('Range query boundary terms must be non-multiple word terms');
|
|
|
} else if (count($tokens) == 1) {
|
|
|
+ require_once 'Zend/Search/Lucene/Index/Term.php';
|
|
|
$to = new Zend_Search_Lucene_Index_Term(reset($tokens)->getTermText(), $this->_context->getField());
|
|
|
} else {
|
|
|
$to = null;
|
|
|
@@ -591,7 +564,9 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
throw new Zend_Search_Lucene_Search_QueryParserException('At least one range query boundary term must be non-empty term');
|
|
|
}
|
|
|
|
|
|
+ require_once 'Zend/Search/Lucene/Search/Query/Range.php';
|
|
|
$rangeQuery = new Zend_Search_Lucene_Search_Query_Range($from, $to, false);
|
|
|
+ require_once 'Zend/Search/Lucene/Search/QueryEntry/Subquery.php';
|
|
|
$entry = new Zend_Search_Lucene_Search_QueryEntry_Subquery($rangeQuery);
|
|
|
$this->_context->addEntry($entry);
|
|
|
}
|
|
|
@@ -616,6 +591,7 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
|
|
|
throw new Zend_Search_Lucene_Search_QueryParserException('Range query boundary terms must be non-multiple word terms');
|
|
|
} else if (count($tokens) == 1) {
|
|
|
+ require_once 'Zend/Search/Lucene/Index/Term.php';
|
|
|
$from = new Zend_Search_Lucene_Index_Term(reset($tokens)->getTermText(), $this->_context->getField());
|
|
|
} else {
|
|
|
$from = null;
|
|
|
@@ -626,6 +602,7 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
|
|
|
throw new Zend_Search_Lucene_Search_QueryParserException('Range query boundary terms must be non-multiple word terms');
|
|
|
} else if (count($tokens) == 1) {
|
|
|
+ require_once 'Zend/Search/Lucene/Index/Term.php';
|
|
|
$to = new Zend_Search_Lucene_Index_Term(reset($tokens)->getTermText(), $this->_context->getField());
|
|
|
} else {
|
|
|
$to = null;
|
|
|
@@ -636,7 +613,9 @@ class Zend_Search_Lucene_Search_QueryParser extends Zend_Search_Lucene_FSM
|
|
|
throw new Zend_Search_Lucene_Search_QueryParserException('At least one range query boundary term must be non-empty term');
|
|
|
}
|
|
|
|
|
|
+ require_once 'Zend/Search/Lucene/Search/Query/Range.php';
|
|
|
$rangeQuery = new Zend_Search_Lucene_Search_Query_Range($from, $to, true);
|
|
|
+ require_once 'Zend/Search/Lucene/Search/QueryEntry/Subquery.php';
|
|
|
$entry = new Zend_Search_Lucene_Search_QueryEntry_Subquery($rangeQuery);
|
|
|
$this->_context->addEntry($entry);
|
|
|
}
|