searcher/searchserver/src/ccpixsearch.cpp
changeset 18 3e1f76dd2722
parent 15 cf5c74390b98
child 24 65456528cac2
--- a/searcher/searchserver/src/ccpixsearch.cpp	Wed Aug 18 10:53:26 2010 +0300
+++ b/searcher/searchserver/src/ccpixsearch.cpp	Thu Sep 02 21:37:32 2010 +0300
@@ -45,7 +45,7 @@
 	}
 
 CCPixSearch::CCPixSearch()
-	: iQueryParserType(EIncrementalQueryParser),
+	: iQueryParserType(EPrefixQueryParser),
 	  iPendingTask(EPendingTaskNone)
 	  
 	{
@@ -134,6 +134,8 @@
 
 TBool CCPixSearch::SearchL(const TDesC& aSearchTerms, MCPixAsyncronizerObserver* aObserver, const RMessage2& aMessage)
     {
+    _LIT16(KPlain,"$plain");
+    _LIT16(KPrefix,"$prefix");
     OstTraceFunctionEntry0( CCPIXSEARCH_SEARCHL_ENTRY );
     PERFORMANCE_LOG_START("CCPixSearch::SearchL");
     
@@ -149,6 +151,15 @@
     TPtr searchTermsPtr = searchTerms->Des();
     searchTermsPtr.Copy(aSearchTerms);
     
+    if(aSearchTerms.Find(KPlain) == 0 && iQueryParserType == EPrefixQueryParser )
+        {
+            SetQueryParserL(ECluceneQueryParser);
+        }
+    else if (aSearchTerms.Find(KPrefix) == 0 && iQueryParserType == ECluceneQueryParser )
+        {
+            SetQueryParserL(EPrefixQueryParser);
+        }
+    
     // Destroy previous query
     cpix_Query_destroy( iQuery );
     iQuery = NULL;
@@ -379,7 +390,7 @@
 	iQueryParser = NULL; 
 	cpix_Result result; 
 	
-	if ( iQueryParserType == EDatabaseQueryParser ) 
+	if ( iQueryParserType == ECluceneQueryParser ) 
 		{
 		iQueryParser = 
 			cpix_QueryParser_create( &result, 
@@ -387,7 +398,7 @@
 									      iDefaultSearchFieldZ->Des().PtrZ()), 
 									  iAnalyzer );
 		} 
-	else if ( iQueryParserType == EIncrementalQueryParser ) 
+	else if ( iQueryParserType == EPrefixQueryParser ) 
 		{
 		iQueryParser = 
 			cpix_CreatePrefixQueryParser( &result,