SharePoint 2013 Search Returns no Results

Problem:
SharePoint log files generate the following error messages:

  1. SearchServiceApplication::Execute–Exception: Microsoft.SharePoint.SPException: Tried IMS endpoints for operation Execute: Cannot plan query for index system SPfe749b4bb671. Index fragment ‘0’ has no available cells. Cell statuses: [Cell I.0.0 on node IndexComponent1: Cell status is set to ‘not available’ (cell out of sync or seeding)]

Windows Application log generate the following error messages:

  1. Event ID: 6482 – Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (9023f74a-9fcd-47b2-b73b-6e190b10689b).Reason: An update conflict has occurred, and you must re-try this action. The object SearchDataAccessServiceInstance was updated by SYC\svc_SharePointFarm, in the OWSTIMER (2720) process, on machine SP03. View the tracing log for more information about the conflict.Technical Support Details:
    Microsoft.SharePoint.Administration.SPUpdatedConcurrencyException: An update conflict has occurred, and you must re-try this action. The object SearchDataAccessServiceInstance was updated by SYC\svc_SharePointFarm, in the OWSTIMER (2720) process, on machine SP03. View the tracing log for more information about the conflict.
    at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.Synchronize()
    at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)

 

Cause:
This issue occurs if the contents of the file system cache on the front-end servers are newer than the contents of the configuration database. This occurs when i)The server had perform windows update and did a server reboot and ii) The SQL Server DB server is potentially running low on HD space to store the crawl Index SQL DB files.

 

Resolutions:
1. Short term:
Clear the file system cache on all servers in the server farm on which the Windows SharePoint Services Timer service is running – https://docs.microsoft.com/en-us/sharepoint/support/server-admin/update-conflict-when-modify-or-delete-alternate-access-mapping

2. Long term:
If there is not enough SQL server HD space to store index crawl DB files, then doing resolution #1 is a temporary fix as issue will occur again in the future if HD space is running low to. Increase that HD space on that disk drive to 80-100GB of free space – https://docs.microsoft.com/en-us/previous-versions/office/sharepoint-2007-products-and-technologies/cc262574(v=office.12)

The steps for resolution #1 are:
1.0 Infrastructure team to do a snapshot VM backup of the SharePoint 2013 servers below:
*  WFE server
* App server
1.1 Infrastructure team to notify SharePoint Administrator when snapshot is done.
1.2 Infrastructure team to be on standby call during outage period for support

2.0 SharePoint Administrator to repeat the following steps below on each SharePoint 2013 servers (WFE and App server)
2.1 Stop the Window SharePoint timer services
2.2 Go to C:\ProgramData\Microsoft\SharePoint\Config folder
2.3 Identify which GUID folder has the cache.ini file and go to that GUID folder
2.4 Back up the cahe.ini file
2.5 Back up all the XML files
2.6 Delete ONLY all the XML files. DO NOT delete the GUID folder!
2.7 Edit cache.ini file and type 1 as the new updated content. Save the ini file
*2.8. Start the SharePoint timer services
2.9 Wait for few minutes for see the system regenerate the xml files again.
2.10 Check the content of cache.ini file. The value should be the previous state or incremented (NOT 1) when it was back up
2.11 Test the search functionality. Check the Windows log application on the server to verify that there are no error message relating to event id 6482
2.12 If there is no search results return from the search query, then do step 2.13 onward. Otherwise skip step 2.13 and go to 3
2.13 Go to Search Application service in Central Administration ->Content Source. Stop any full or incremental search job
2.14 Do an index reset in Central Administration (Manage Service Applications > Search Service Application > Crawling > Index Reset
2.15 Do a full crawl (Manage Service Applications > Search Service Application > Crawling > Content Sources)
2.16 Afterwards test the search and expect search results should work after a full crawl

3. Notify Infrastructure team that testing was successful

*NOTE: Infrastructure may need to reboot the server if SharePoint timer services cannot be started manually in step 2.8

Server or Content Rollback plan
* Infrastructure team to restore the backup snapshot of the SP02 and SP03 server
or content rollback is to manually:
1. Restore the backup cache.ini file
2. Restore the backup XML files

 

References

Customising SharePoint 2013 Search Result Page

How search works in a few words
In case you’re not so familiar with how search works, here’s a high level representation that might be useful for this series.

searchindex

  1. Content is stored in lists and libraries. Site columns are used to store values, or in other words information, about each item in a list or library.
  2. When lists and libraries are crawled, site columns and the site column values are added to the search index.
  3. In the search index, site columns are “transformed” into managed properties. Site column values are “transformed” into managed property values
  4. On a search page, a user enters a query in a Search Box Web Part. The query is sent to the search index.
  5. Search results are sent from the search index to a search results page, and displayed in a Search Results Web Part.  The Search Results Web Part uses display templates that specify which managed property values should be displayed.

 

Overview

 

 

Customising SharePoint 2013 Search Scope

To create a scope search, use Manage Result Sources feature. After configure managed result source, the next step is to configure search result page (See appendix 3.2 for more detail instructions not related to SAO).

    1. Go the search centre search site collection that was created
    2. Go to site settings from top right side drop down menu

search0

 

 

 

3. Click on Result Sources link under Site Collection Administrator

search1

 

 

4. Click “New Result Source” button

  1. Enter the following details below and click the save button when finish:

search2

search3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The query builder looks like this:

search4

 

 

 

 

 

 

After saving the result source, it should look like this:

search5