Troubleshooting Search scopes in FAST Search for SharePoint

It might be you have been playing with the Scope in fast search as it is explained in this blog https://blogs.msdn.com/b/jorgeni/archive/2010/02/26/search-scopes-in-fast-search-for-sharepoint-part-1.aspx

Why to repeat a thing if it has been done properly….

But you still do not know if you are using the fast server, do not give up, I will try to explain how you could troubleshoot the problem.

In order to connect the previous blog and this there is a simple difference and it is the title of the created scope. In my case the name is fast and not vista like in the above blog .

Creating a site scope

To create a site scope, add the –OwningSiteUrl switch to your command line:

New-SPEnterpriseSearchQueryScope -SearchApplication "Search Service Application" -Name MySimpleScope -Description "My Simple Scope" -DisplayInAdminUI 1 -ExtendedSearchFilter ‘title:fast’ –OwningSiteUrl “https://myhost/sites/mysite/

 

The first thing is checkup if the query reaches the FAST server.

So submit a query that uses the scope.

Log on to the fast server and open the path %FASTSEARCH%\var\log\querylogs.

Sort the “date modified” column by descendent and open the latest file, with your favorite text editor.

Tail the string qtf_parskw:filter.

If your search scope query hit the qrserver then you should get similar entry

As you can see the search scope query reach the server.

If your Search scope query does not return anything then is time to troubleshoot the filter

 

Let said that you used a little bit more complex filter and you don’t use the title and you use the path like this configuration.
New-SPEnterpriseSearchQueryScope  -SearchApplication "FAST Query SSA"  -Name "Documents Site"  -Description "My Documents Library"  -DisplayInAdminUI 1

$scope = Get-SPEnterpriseSearchQueryScope  -SearchApplication "FAST Query SSA"  -Identity "Documents Site"

$scope.Filter = 'or(path:starts-with("https://contoso.com/sites/it/en/docu/"), path:starts-with("https://contoso.com/sites/it/IT%20Documents"))'

$scope.Update()

 

So when you open the query logs everything seems right.

Well the filter hit the Qrserver but I don’t get any result .

Let see closely the querylog entry.

Why it is happen?

It is because you copy the url from the IE and paste in your script.

Using an url encoder utf-8

However the goal of this blog is not tell you the especific error you made, it is how to use querylog to troubleshoot the search scope problem