Exception when re-indexing
Hi,
When i create a site index it creates without an error (however searching on the site produces a '0 search results for x', for a term i know is on the site multiple times, and is selected to be searched in the search index), if i then click re-index on the created index a message box pops up reading, "Exception of type 'System.Web.HttpUnhandledException' was thrown.".
The site is running through IIS, but if i run the site through the Project Manager, and click re-index on the index created when the site was running through IIS a message box pops up reading, 'Type "Telerik.Sitefinity.Publishing.Model.Dynamic_eb045f45fab64cbcb851827c91bb5495" cannot be resolved.'
If i do the opposite and create an index when using the Project Manager, i receive the error when re-indexing; "Exception of type 'System.Web.HttpUnhandledException' was thrown.", if i then try to re-index that index when running the site in IIS, i receive message box, 'Type "Telerik.Sitefinity.Publishing.Model.Dynamic_92683eed7f6a471fa7c7d9ae7e75449c" cannot be resolved.'
Any help would be much appreciated.
Thanks,
Louis
Hi Louis Farrell,
Would you please be more specific about the search index you have created? What types of content are you indexing? Also which version of Sitefinity are you using? Would you look at the error log of Sitefinity (located at "App_Data/Sitefinity/Logs") and provide us with the error information that is logged when the index fails to run.
The problem could be in some custom control that you have on a page. If you create a new website from the ProjectManager and add some of the default controls to a single page and then runt the index or reindex the website do you get the same error?
About the "Type "xxxx" cannot be resolved." error, it comes from the fact that the db schema is cached in the memory. If you create an index from one application it updates its schema, but another application that uses the same database does not know about that. So you need to reset the other application in order the schema to be reread.
Best wishes,
Ivan Pelovski
the Telerik team
Hi Ivan,
We are using Build 4.0.1098.0. When you questionned the content we were indexing, I tried every combination of content to be searched and found the error only occured when 'Static HTML in pages' was selected to be indexed. Currently all HTML in content blocks is set to be viewable by admins only (which will have happenned during the migration from 3.7 to 4.0, as i have not set each individual content block to have these permissions, i am logged in as an administrator when i create and re-index the indexes and when i search for a term in the frontend).
I have looked in the logs and no messages are recorded when the error occurs. I have also created a new site in Project Manager, and have not found to have the same problem with that, even if i set all content on the new site to be viewable only by administrators.
Apologies i can't be more helpful than that, is there anything else i should try to get to the bottom of this?
Cheers,
Louis
Hi Louis,
The only way to tell you what the problem is for this case is getting the project locally and run it in debug mode. If you have a custom controls I suggest that you should do this locally and see if there will be an error thrown somewhere in your code during the crawler request.
Greetings,
Ivan Dimitrov
the Telerik team
Hi Ivan,
I am having the same issue with the ReIndex since the search is not returning any results. I tried running the ReIndex locally while debugging and i got the same error. I am currently only indexing the static HTML pages.
The error is: Exception of type 'System.Web.HttpUnhandledException' was thrown.
Thanks,
G
Hi George ,
Can you create a new project with one page and one content block control on it and try to replicate the issue? Can you send the database and the project to us using the support system? The issue comes from a control that you have on a page. Most probably this is one of the Navigation controls.
Best wishes,
Ivan Dimitrov
the Telerik team
Hi Ivan,
i have tried to create a new project and replicate the problem, but I am unable to.
Are you sure that the problem is due to a custom control? The only time any error is shown (Exception of type 'System.Web.HttpUnhandledException' was thrown.) is in the backend when trying to re-index the website, surely this has no connection to which pages show the indexed results when searched? I have created a new search index on the site and it is not connected to any search results etc, and still produces the same error.
Thanks,
Louis
Hi Louis Farrell,
Could you please send us your database, in a support ticket? We will debug it locally and see what we do about the issue.
Best wishes,I have created a new support ticket with our database and just sent it.
Thanks,
Louis
Hello Louis Farrell,
Thanks, we will follow up there.
Greetings,Hi,
I also getting the same error. search is no longer working in sitefinity 4....any idea now to fix it.
Thanks,
sathya
The solution they gave me was, that it will be a problem with one of your user controls either on a page or template in your website, mine was a custom navigation control.
The problem line for me was:
SiteMapNode currentNode = SiteMapBase.GetCurrentProvider().CurrentNode;
public void menu_ItemDataBound(object sender, RadMenuEventArgs e)
public void menu_ItemDataBound(object sender, RadMenuEventArgs e)
if (this.Page.Items["IsInIndexMode"] == null)
public void menu_ItemDataBound(object sender, RadMenuEventArgs e)
if (this.Page.Items["IsInIndexMode"] == null)
SiteMapNode currentNode = SiteMapBase.GetCurrentProvider().CurrentNode;
// rest of code
Hi loui,
Thanks for sharing your ideas. Unluckily its not working for me. I do have a custom navigation control in all of my templates. Any other change you did apart from this.
My code is below:
void RadPanelbar1_ItemDataBound(object sender, Telerik.Web.UI.RadPanelBarEventArgs e)
if (this.Page.Items["IsInIndexMode"] == null)
if (HttpContext.Current.Request.QueryString["cmspagemode"] != "preview" && Request.QueryString["cmspagemode"] != "edit" && Request.QueryString["cmspagemode"] != "preview")
string sPageURL = Request.Url.AbsolutePath.ToLower();
if (sPageURL != null)
foreach (RadPanelItem item in RadPanelbar1.GetAllItems())
string sPage = item.NavigateUrl.Remove(0, item.NavigateUrl.LastIndexOf('/') + 1).ToLower();
if (sPageURL.Contains(sPage))
if (item != null)
item.Selected = true;
item.SelectedCssClass = "rtsSelected";
break;
Also can you tell me what "IsInIndexMode" refers ?
Thanks,
sathya
Ivan's exact reply was:
---------------------------------------------------------------------------------------------------------------------------------
The problem is in
SiteMapNode currentNode = SiteMapBase.GetCurrentProvider().CurrentNode;
You should escape the crawler request for the logic inside menu_ItemDataBound
if
(
this
.Page.Items[
"IsInIndexMode"
] ==
null
)
// this is not a crawler request add your logic
hey loui,
I don't have any other custom control other than navigation control. But still i am getting the same issue. Also while creating search index the folder itself not creating under /App_Data/Sitefinity/..
I don't know why sitefinity people are not replying for this.
Hope i have to fix it.
Thanks,
sathya