Advanced search errors when enabling Full Text search
Advanced search errors when enabling Full Text search
Two issues: (7.0.3, build 12458)
1.) We've had complaints from our staff that our advanced search is not working properly. Example: typing in 'gotoh tuners' (without the quotes, FYI) returns no found items. It looks like advanced search is using a text as a literal string. The only way to get the expected results of any occurance of the words 'gotoh' and 'tuner' within a text field is to encase the words in asterisks. (*gotoh*tuner*) Is there a way to modify the advanced search logic?
2.) We have not had full text search enabled. I tried to enable it on our live site. I can click on the enable full text search box and click save, but the check box does not remain checked. When trying to use the advanced search page after this we get a yellow error screen and the following error:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.SqlClient.SqlException: Cannot use a CONTAINS or FREETEXT predicate on table or indexed view 'ac_Products' because it is not full-text indexed.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at Microsoft.Practices.EnterpriseLibrary.Data.Database.DoExecuteReader(DbCommand command, CommandBehavior cmdBehavior)
at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteReader(DbCommand command)
at CommerceBuilder.Data.Database.ExecuteReader(DbCommand command)
at CommerceBuilder.Products.ProductDataSource.AdvancedSearch(String keyword, Int32 categoryId, Int32 manufacturerId, Boolean searchName, Boolean searchDescription, Boolean searchSKU, Decimal lowPrice, Decimal highPrice, Int32 maximumRows, Int32 startRowIndex, String sortExpression)
at CommerceBuilder.Products.ProductDataSource.AdvancedSearch(String keyword, Int32 categoryId, Int32 manufacturerId, Boolean searchName, Boolean searchDescription, Boolean searchSKU, Decimal lowPrice, Decimal highPrice, String sortExpression)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance)
at System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments)
at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)
at System.Web.UI.WebControls.DataBoundControl.PerformSelect()
at ConLib_AdvancedSearchPage.BindProductsGrid()
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
--- End of inner exception stack trace ---
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at ASP.advancedsearch_aspx.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
URL: /AdvancedSearch.aspx
Reffering URL: /AdvancedSearch.aspx
User Id: 3676466
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
It looks like full text is partially enabled or attempting to be enabled, even though the check box does not appear to be checked in store configuration. We can click on the checkbox again (and save) and the error goes away. Checkbox stays blank. Any input on the error and/or the full text search checkbox error?
Thanks everyone!
1.) We've had complaints from our staff that our advanced search is not working properly. Example: typing in 'gotoh tuners' (without the quotes, FYI) returns no found items. It looks like advanced search is using a text as a literal string. The only way to get the expected results of any occurance of the words 'gotoh' and 'tuner' within a text field is to encase the words in asterisks. (*gotoh*tuner*) Is there a way to modify the advanced search logic?
2.) We have not had full text search enabled. I tried to enable it on our live site. I can click on the enable full text search box and click save, but the check box does not remain checked. When trying to use the advanced search page after this we get a yellow error screen and the following error:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.SqlClient.SqlException: Cannot use a CONTAINS or FREETEXT predicate on table or indexed view 'ac_Products' because it is not full-text indexed.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at Microsoft.Practices.EnterpriseLibrary.Data.Database.DoExecuteReader(DbCommand command, CommandBehavior cmdBehavior)
at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteReader(DbCommand command)
at CommerceBuilder.Data.Database.ExecuteReader(DbCommand command)
at CommerceBuilder.Products.ProductDataSource.AdvancedSearch(String keyword, Int32 categoryId, Int32 manufacturerId, Boolean searchName, Boolean searchDescription, Boolean searchSKU, Decimal lowPrice, Decimal highPrice, Int32 maximumRows, Int32 startRowIndex, String sortExpression)
at CommerceBuilder.Products.ProductDataSource.AdvancedSearch(String keyword, Int32 categoryId, Int32 manufacturerId, Boolean searchName, Boolean searchDescription, Boolean searchSKU, Decimal lowPrice, Decimal highPrice, String sortExpression)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance)
at System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments)
at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)
at System.Web.UI.WebControls.DataBoundControl.PerformSelect()
at ConLib_AdvancedSearchPage.BindProductsGrid()
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
--- End of inner exception stack trace ---
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at ASP.advancedsearch_aspx.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
URL: /AdvancedSearch.aspx
Reffering URL: /AdvancedSearch.aspx
User Id: 3676466
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
It looks like full text is partially enabled or attempting to be enabled, even though the check box does not appear to be checked in store configuration. We can click on the checkbox again (and save) and the error goes away. Checkbox stays blank. Any input on the error and/or the full text search checkbox error?
Thanks everyone!
Re: Advanced search errors when enabling Full Text search
Try going into sql server and rebuilding the catalog.
Re: Advanced search errors when enabling Full Text search
How interesting..... So I hop in SMS to rebuild the catalog and there is no catalog for our AC db.
Does turning on full text search automatically generate a catalog? Does it do this immediately or at specific intervals? (ie, is it done during maintenance?)
Thanks!
Does turning on full text search automatically generate a catalog? Does it do this immediately or at specific intervals? (ie, is it done during maintenance?)
Thanks!
Re: Advanced search errors when enabling Full Text search
I would think the catalog was created when the database was installed.WylieE wrote: Does turning on full text search automatically generate a catalog?
Does it do this immediately or at specific intervals? (ie, is it done during maintenance?)
Good question about the maintenance.
I still don't know how or when this is done. This is important because any changes made to the products or products added won't show in the search until the catalog is rebuilt.
But you are not really missing the benefits of FTS because it is not working when
2 or more keywords are entered (most searches) and I'm still waiting for the fix.
View this : viewtopic.php?f=42&t=13127
-
- Ensign (ENS)
- Posts: 9
- Joined: Thu Mar 04, 2010 8:01 pm
Re: Advanced search errors when enabling Full Text search
In SQL Server 2005 & 2008 The Full-Text catalog does not normally need to be rebuilt when you add or remove rows. In the ful-text properties of a table there is an options "Change Tracking" - set this to "Automatic".
I am unsure what this is set to on a default AbleCommerce inatall.
Cheers,
Aaron
I am unsure what this is set to on a default AbleCommerce inatall.
Cheers,
Aaron
Re: Advanced search errors when enabling Full Text search
Eric, do you ever get the FTS Catalog back?
I unchecked "Enable Full Text Searching" to try the other search, and now
I went to check it again to enable it and it won't stay checked.
And the Catalog is missing in SQL Server too. ??
Does the Catalag need to be recreated?
I unchecked "Enable Full Text Searching" to try the other search, and now
I went to check it again to enable it and it won't stay checked.
And the Catalog is missing in SQL Server too. ??
Does the Catalag need to be recreated?
Re: Advanced search errors when enabling Full Text search
Hi Mike,Mike718NY wrote:Eric, do you ever get the FTS Catalog back?
I unchecked "Enable Full Text Searching" to try the other search, and now
I went to check it again to enable it and it won't stay checked.
And the Catalog is missing in SQL Server too. ??
Does the Catalag need to be recreated?
Unfortunately, no. But to be honest, I have not spent much time on it. Still need to get it and the search criteria issue worked out though.
Re: Advanced search errors when enabling Full Text search
WylieE wrote:Two issues: (7.0.3, build 12458)
1.) We've had complaints from our staff that our advanced search is not working properly. Example: typing in 'gotoh tuners' (without the quotes, FYI) returns no found items. It looks like advanced search is using a text as a literal string. The only way to get the expected results of any occurance of the words 'gotoh' and 'tuner' within a text field is to encase the words in asterisks. (*gotoh*tuner*) Is there a way to modify the advanced search logic?
Anyone have any comments regarding advanced search? Our staff is more concerned with this functionality than full text search.
Thanks!
Re: Advanced search errors when enabling Full Text search
Bump for anyone using advanced search? Is this normal behavior??WylieE wrote:Two issues: (7.0.3, build 12458)
1.) We've had complaints from our staff that our advanced search is not working properly. Example: typing in 'gotoh tuners' (without the quotes, FYI) returns no found items. It looks like advanced search is using a text as a literal string. The only way to get the expected results of any occurance of the words 'gotoh' and 'tuner' within a text field is to encase the words in asterisks. (*gotoh*tuner*) Is there a way to modify the advanced search logic?