====== Trouble Shooting ====== So, you've followed all the steps in the [[configuration:supersearch:step by step|Step-by-step Guide]], and read all the [[configuration:supersearch:disclaimers|Disclaimers]], but something's still not working? Welcome backstage! ===== Is Super Search really running? ===== When switching on Super Search on a database in LISA, two jobs are created on the server: * _enablefulltextsearch * _enableupdatesearchdata These jobs are enabling, indexing, and reindexing the full text search index that is used by Super Search. In SQL Server Manager, open the //Job Activity Monitor// and start with controling the first job: - If the Status of the job is currently //Executing//: Hang on for it to finish, up to 15 minutes for a medium sized database with no performance issues. - If the Status is //Idle// and //Last Run Outcome// is //Succeeded//: The second job should now also have been created. It is setup to reindex changes users do i Lime CRM. - If the Status is //Idle// and //Last Run Outcome// is //Failed//: Please check that the user running Lime CRM Server has the permissions needed to create jobs, and that the services below are made available, and then restart the job. ===== Permissions and Services ===== ==== Services ==== **SQL Server Agent** needs to be enabled in order to run jobs. On newer MSSQL versions, the **FullText Search** is enabled by default. But on MSSQL 2005, you need to start it yourself. - Open //SQL Server Configuration Manager// as an administrator. - Make sure the following services are //Running// and //Automatically//: - SQL Server Agent - SQL Server FullText Search, if on MSSQL 2005. ==== Permissions to create jobs ==== The user that runs Lime CRM Server needs permissions to create jobs on the SQL Server Agent, by membership of the **SQLAgentUserRole**. - Open //SQL Server Configuration Manager// as an administrator. - Go to the following node in the Object Explorer: <**DB> | Security | Logins | **, right click and choose **Properties**. - Under //Select a page//, select **User Mapping** - Under //Users mapped to this login//, select **msdb** - Under //Database role membership for: msdb//, check **SQLAgentUserRole** * Making a copy of a database, or moving it to a new server? Check [[configuration:supersearch:troubleshooting:moving a database|Moving a database]]. * Running on MSSQL 2005 and getting strange search results? Make sure to remove the [[configuration:supersearch:troubleshooting:noise words (MSSQL2005)|Noise Words (MSSQL2005)]]. ===== Moving a database ===== When moving a database, follow these steps to ensure a continuous functionality of Super Search: - Turn off Super Search. This will delete its index, which does not have to be copied; and its jobs, which are not a part of the Backup and Restore actions. - Perform the Backup and Restore actions to move the database to the new database, possibly on a new SQL Server. - If moving from one Microsoft SQL Server version, to another version, make sure that the //Compatibility Level// of the database is set to the correct version. - Turn on Super Search. This will reindex the full text search index for Super Search, and create new reindexing jobs for the new database. These jobs will then be mapped to the new name of the new database where Super Search is activated. ===== Noise Words (MSSQL 2005)==== Running on **MSSQL 2005** and getting strange search results? === What's this? === //Noise Words// are language specific lists of words that are getting special treatment by the FullText Search. FullText search can filter them out from search strings, which is of great use when searching for running texts, as blogs or notes, but unwanted when searching for names. For example, the word "per" is considered a noise word by FullText Search, and that name cannot be found if using FullText Search with Noise Words filtering. When using MSSQL versions from 2008 and up, Super Search is allowed to handle the use of Noise Words itself. But if the Super Search database sits on a MSSQL Server of 2005, you will have to follow the steps below to be able to receive accurate search results from search strings containing words that otherwise would be filtered out as "noise". === When not to change the Noise Words === * If running on MSSQL 2008 or above, Lime CRM is allowed to handle this by itself. You do not have to take any actions. * If using MSSQL 2005 and other services or applications are using the same FullText Search engine of that MSSQL Server, changes you make will affect them too. Make sure that no other usage of the FullText Search is affected negatively, before changing the Noise Words. === Where do I find the Noise Word file? === You can find the file in a subfolder of the Microsoft SQL Server installation folder. It is named per language, for example noiseSVE.txt for Swedish, and normally found in the FTData folder. In the following registry key, the set of languages and the path to their Noise Word files are stored: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\\MSSearch\Language === Step by step === - Turn off Super Search. - Make a backup of noiseSVE.txt, or the corresponding file of the standard language of the Lime CRM database settings (See [[configuration:lisa|LISA]]). Typically name the backup file noiseSVE_BACKUP.txt, and do not change its contents. - Empty the contents of noiseSVE.txt, and save it. - Turn on Super Search. When turning it on again, Super Search will reindex everything, now without filtering on Noise Words.