Local index not working on MVC Site (Page Crawler index)

Akram Abdelmoteleb asked on June 24, 2020 22:41

Hi all,

I'm having an issue where the page crawler indices are not populating on the MVC side, results do come back on the admin side.

I have a custom widget content that is being crawled. I followed this article

Works well locally and in azure admin site, but not MVC site.

The page crawler works fine, it's the page crawler index that is not working.

I tried deleting the index and re populating them, but still same issue.

There are no errors in the logs or event log, is there some other place I can look?

I have also followed the smart search troubleshooting diagram, but did not help me in finding out where the problem is.

Your help is greatly appreciated.

Thanks, Akram Abdelmoteleb

Recent Answers


Brenden Kehren answered on June 25, 2020 04:48 (last edited on June 25, 2020 05:08)

In the MVC site check the /App_Data/CMSModules/SmartSearch/< SmartsearchIndexName > directory and see if there are files in there.

If not you need to troubleshoot why those files are not syncing over from the CMS.

1 votesVote for this answer Mark as a Correct answer

Akram Abdelmoteleb answered on June 25, 2020 23:49

I checked the folder and it's populating the folder, but the indices are blank. checked with the Luke tool.

but the Admin site has the correct indices populated has ~10 files where the MVC Site only has 1.

how is the indices synced to the MVC site? as maybe it's a permission issue? I don't see any errors, that is what is challenging.

0 votesVote for this answer Mark as a Correct answer

Brenden Kehren answered on June 25, 2020 23:59

If the files are being synchronized over to the MVC site then it's not a permission issue. It may be that the synchronization worked at one time but now it's not working anymore. I would check the web farm servers in your Kentico implementation and see if there's any errors in the web farm servers.

0 votesVote for this answer Mark as a Correct answer

Akram Abdelmoteleb answered on June 26, 2020 00:17

So I looked at the Web farm settings, and it's set to automatic

For some reason I see three servers, even though I only have two, the admin and the MVC site servers and both show as healthy.

There is a third one that is has suffix _AutoExternalWeb that is not Responding?

the server name doesn't match either of my azure webapps?

0 votesVote for this answer Mark as a Correct answer

Brenden Kehren answered on June 26, 2020 00:21

The _AutoExternalWeb server is your MVC application. If you have multiple devs working on a shared database then you'll have some issues as the licensing only works for 1 CMS site and 1 MVC site no matter if you're using localhost as a domain or not. Delete out the odd ball server and try rebuilding the search index again after the 2 web farm servers are healthy. It may require you to restart both the MVC site and the CMS site in IIS.

0 votesVote for this answer Mark as a Correct answer

Akram Abdelmoteleb answered on June 26, 2020 00:32

No, same problem. Just to clarify, this is on Azure

0 votesVote for this answer Mark as a Correct answer

Brenden Kehren answered on June 26, 2020 00:35

It takes time and patience. Clear the web farm servers up, restart the websites in Azure, access each site (CMS and MVC), then rebuild the search index.

I just went through this exact issue less than 4 hours ago in a similar Azure environment.

0 votesVote for this answer Mark as a Correct answer

Akram Abdelmoteleb answered on June 26, 2020 00:40

what do you mean by clear web farm servers up?

Disable web farms and enable it again?

or delete them from the web farm application and restart both application services?

BTW, I appreciate you helping me out, you have been very prompt :)

0 votesVote for this answer Mark as a Correct answer

Akram Abdelmoteleb answered on June 26, 2020 00:44

One thing I noticed is the MVC app service, is missing the _stopwords and _synonyms folders and files, could that be a culprit?

azure problematic folders

0 votesVote for this answer Mark as a Correct answer

Brenden Kehren answered on June 26, 2020 00:59

When I say clear the servers up I mean in the web farm app in Kentico.

The stopwords and synonym folders are part of our deployment process but they could be the issue. Make sure they are in your Kentico deployment. They don't need to be in the MVC app.

0 votesVote for this answer Mark as a Correct answer

Akram Abdelmoteleb answered on June 26, 2020 21:09

Ok, So as I was re-reading the documentation I looked at my web farm configuration. I realized that I needed to clone the scheduled tasks as my file system are separate in azure (Only for DEV, for stage and Production, planning on using shared storage)

after configuration and cloning of all tasks that are specified in documentation some tasks, including the Execute local search indexes are not running (only the clone, pointing to the _AutoExternalWeb server)

Is there anything else I'm missing?

0 votesVote for this answer Mark as a Correct answer

Brenden Kehren answered on June 26, 2020 21:12

The scheduled tasks don't execute web farm tasks. Those have their own engine and trigger. If the Execute local search indexes task isn't running then you may want to enable that scheduled task.

0 votesVote for this answer Mark as a Correct answer

Akram Abdelmoteleb answered on June 26, 2020 21:36

The scheduled task is enabled.

It works for the scheduled task that points to the admin server,

But the task pointing to the MVC server is not., it's stuck in scheduled and last run is not updated.

is there a way to trigger the web farm task that handles scheduled tasks to execute on different servers?

0 votesVote for this answer Mark as a Correct answer

Brenden Kehren answered on June 26, 2020 23:09

Your documentation link points to Portal Engine development not MVC development. Check the MVC Documentation out.

If your web farm is copying the indexes to the MVC site then you should have no issues. But it sounds like you're mixing settings up with MVC and Portal Engine so I'd start from scratch with your setting configurations and work with the MVC docs.

0 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.