A few lessons learned from implementing the Lotus Notes connector in FAST Search for SharePoint 2010
I found that the basic instructions from Microsoft were fine in setting this all up, but getting it to look nice and behave well was another matter. Here are the documents I referenced for the basic configuration:
- Basic Configuration – install the Notes client and JRE
- Set up the Extended Directory Catalog
- Configure the Security Connector. Make note of that warning in the middle. The user that runs the security and content updates must also be the one who encodes the password. This will typically be the FAST search service account.
- Configure the Content Connector
- Enable Authorization for Security Trimming
The Extended Directory Catalog
Start by making this catalog out of the pubnames.ntf template, not dircat.ntf, as you would expect. If you use the latter, the security connector can’t connect to it and extract the user information.
In the Extended Directory Catalog document, leave the ‘Additional fields…’ field blank. The fields it pulls in by default are more than adequate for this job. In my document I have ‘Remove duplicate users’ set to Yes, group types set to ‘Mail and Multipurpose’ (since I’m pulling in info from other domains, I can’t use ‘first directory only’), Incluce Mail-in Databases and Include Servers is set to No.
If you ever need to rebuild the Directory Catalog contents, just issue the following commands:
tell dircat q
load dircat dircat.nsf -r
When those commands are done, type ‘load dircat’ to re-enable scheduled background updates.
Follow the instructions here to schedule updates using the task scheduler on the FAST administrative server.
That article does not cover the security update, but it’s similar. You’ll need to create two tasks in the task scheduler for this item. The first one will look like this:
Add arguments: start -f ..\etc\DominoSecurityConfig.xml
Start in: C:\FASTSearch\bin
The second one needs to call the script below, stored in a command file
C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe " & 'E:\FASTSearch\tasks\UpdateSecurity.ps1' "
UpdateSecurity.ps1 will look like this:
$FASTSEARCH = [environment]::GetEnvironmentVariable("FASTSEARCH","Machine")
$path = Join-Path -path $FASTSEARCH -childPath "bin"
$envpath = Join-Path -path $FASTSEARCH -childpath "etc"
Update-FormatData -AppendPath "$envpath\FASTSearch.Format.ps1xml"
# Uncomment these next two if security trimming won't get in synch
# While you run these commands, FAST will not return results from Domino
# searches, even for anonymous content
# Remove-FASTSearchSecurityAliaser -Identity win2lnx -Confirm:$False
# New-FASTSearchSecurityXMLAliaser -id win2lnx -InputUserStoreId win -OutputUserStoreIds lnx -InputPropertyName '$PRINCIPAL_REFERENCE_ALIAS'
Set-FASTSearchSecurityXMLAliaser -id win2lnx -PathToXMLFile 'C:\FASTSearch\var\lotusnotesconnector\security\ssomapping.xml’
The last command is to take the ssomapping.xml file and upload it to the FAST security store.
Refiners are the items that appear in the left-hand column of the search results page. SharePoint and FAST can make the SharePoint URL’s appear just fine, but the Domino ones don’t show up because nothing is mapped to the managed property ‘sitename’ which is what appears in that column.
To fix this, we’ll use the FixedFields item in the Content Connector configuration document. In my case, I’m adding a new field called ‘dominoUrl’:
This will attach that field with that value to every entry that the content connector pulls in. You will need to clear the content store and reload it to make that happen. Map that new Lotus Notes crawled property to the managed property ‘sitename’. After that, do a full crawl of the FAST query and content sources.
Once that is done, the URL you inserted above will start to appear in search results on the left-hand side with a number next to it, denoting the number of hits that match that top-level URL.
One of the first things you notice in the Domino search results is that the document title is pretty flakey, even in documents that have an explicitly-defined title field. Sometimes it’s the title, more often than not it’s the name of the attachment on the document or, if there is none, simply the UID of the document. None of that looks pretty.
The property you want to display is really there, it’s just getting bumped in priority. To fix this, search for the managed property ‘Title’, and edit it. Find both of the items called ‘title(text)’ and move them to the top.
Using your Domino server as a search scope is pretty straightforward. It’s set up like any other scope, but I used Scope Rule Type of Web Address, then used the ‘Domain or subdomain’ option and entered the to-level URL without the HT
TP; e.g., just intranet.company.com.