Advanced search errors when enabling Full Text search

For general questions and discussions specific to the AbleCommerce 7.0 Asp.Net product.
Post Reply
User avatar
WylieE
Captain (CAPT)
Captain (CAPT)
Posts: 281
Joined: Tue Mar 25, 2008 8:26 am
Location: Puyallup, WA
Contact:

Advanced search errors when enabling Full Text search

Post by WylieE » Fri Mar 05, 2010 1:43 pm

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!
Eric Wylie
Warmoth Guitar Products, Inc.
http://www.warmoth.com

Mike718NY
Commodore (COMO)
Commodore (COMO)
Posts: 485
Joined: Wed Jun 18, 2008 5:24 pm

Re: Advanced search errors when enabling Full Text search

Post by Mike718NY » Fri Mar 05, 2010 2:30 pm

Try going into sql server and rebuilding the catalog.

User avatar
WylieE
Captain (CAPT)
Captain (CAPT)
Posts: 281
Joined: Tue Mar 25, 2008 8:26 am
Location: Puyallup, WA
Contact:

Re: Advanced search errors when enabling Full Text search

Post by WylieE » Fri Mar 05, 2010 4:47 pm

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!
Eric Wylie
Warmoth Guitar Products, Inc.
http://www.warmoth.com

Mike718NY
Commodore (COMO)
Commodore (COMO)
Posts: 485
Joined: Wed Jun 18, 2008 5:24 pm

Re: Advanced search errors when enabling Full Text search

Post by Mike718NY » Fri Mar 05, 2010 5:14 pm

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?)
I would think the catalog was created when the database was installed.

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

aaron.foote
Ensign (ENS)
Ensign (ENS)
Posts: 9
Joined: Thu Mar 04, 2010 8:01 pm

Re: Advanced search errors when enabling Full Text search

Post by aaron.foote » Mon Mar 08, 2010 1:25 am

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

Mike718NY
Commodore (COMO)
Commodore (COMO)
Posts: 485
Joined: Wed Jun 18, 2008 5:24 pm

Re: Advanced search errors when enabling Full Text search

Post by Mike718NY » Tue Mar 09, 2010 6:36 pm

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?

User avatar
WylieE
Captain (CAPT)
Captain (CAPT)
Posts: 281
Joined: Tue Mar 25, 2008 8:26 am
Location: Puyallup, WA
Contact:

Re: Advanced search errors when enabling Full Text search

Post by WylieE » Tue Mar 09, 2010 6:51 pm

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?
Hi Mike,

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.
Eric Wylie
Warmoth Guitar Products, Inc.
http://www.warmoth.com

User avatar
WylieE
Captain (CAPT)
Captain (CAPT)
Posts: 281
Joined: Tue Mar 25, 2008 8:26 am
Location: Puyallup, WA
Contact:

Re: Advanced search errors when enabling Full Text search

Post by WylieE » Fri Mar 12, 2010 12:11 pm

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!
Eric Wylie
Warmoth Guitar Products, Inc.
http://www.warmoth.com

User avatar
WylieE
Captain (CAPT)
Captain (CAPT)
Posts: 281
Joined: Tue Mar 25, 2008 8:26 am
Location: Puyallup, WA
Contact:

Re: Advanced search errors when enabling Full Text search

Post by WylieE » Tue Mar 16, 2010 12:02 pm

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?
Bump for anyone using advanced search? Is this normal behavior??
Eric Wylie
Warmoth Guitar Products, Inc.
http://www.warmoth.com

Post Reply