none
Noob question about separating content sources from search results RRS feed

  • Question

  • I have 500GB of flat files that need to be indexed and searchable separate from our main FAST site (Which is indexing our SharePoint environment)

    I have created a new scope in FAST to index the content and the index build is complete.

    How do I keep searches separated between the flat files we just added, and our existing Sharepoint content?

    I picture having a new "FAST" sharepoint site to search just the flat files, and then needing to modify our original FAST search center to exclude the flat files from results.

    Am I going in the right direction?

    - Jack

    Thanks!

    Tuesday, August 30, 2011 12:04 AM

Answers

  • Hi Jack,

    You will have to use PowerShell for your scopes, and this is one of my mantras with FS4SP. Always always use powershell to create your scopes :) Using PowerShell you can write scopes using FQL, and not KQL, giving you much more flexibility and options. You can actually create scopes which not only limit what you get back, but you can use them to change how things are sorted.

    Couple of references:

    http://technet.microsoft.com/en-us/library/ff453895.aspx
    http://techmikael.blogspot.com/2011/03/why-you-still-should-prefer-powershell.html

    Regards,
    Mikael Svenson 


    Search Enthusiast - SharePoint MVP/WCF4/ASP.Net4
    http://techmikael.blogspot.com/
    Wednesday, September 7, 2011 6:37 PM

All replies

  • Hi Jack.

    The best way is to create multiple content collections, one for each content source, but that is almost unsupported if F4SP.

    I would go with the "contentsource" managed property: Crawl everything to the same content collection and use different FQL queries (example: contentsource:fileshare or contentsource:sharepoint) for different search sites.

    Regards,

    Amir Ben Ari

     

    Tuesday, August 30, 2011 7:19 AM
  • An option is to use different scopes to keep the data "separated". Data still resides in one content collection, but the scope provides an extra on the results you get from the search query.
    Tuesday, August 30, 2011 10:42 AM
  • Hi Jack.

    The best way is to create multiple content collections, one for each content source, but that is almost unsupported if F4SP.

    I would go with the "contentsource" managed property: Crawl everything to the same content collection and use different FQL queries (example: contentsource:fileshare or contentsource:sharepoint) for different search sites.

    Regards,

    Amir Ben Ari

     

    Remember that even if you have more than one collection, and it is supported to add more collections, it will all be searchable as there is only one searchview from FS4SP which includes all collections. Collections are just a virtual separation which adds a property to the content with the collection name, and it's all in the same binary index.

    Using scopes is the only way to separate content, that be on the content collection via the meta.collection property, or some other managed property which will allow you to filter your data (eg. content source).

    If all your crawled sources are crawled from the SharePoint Content SSA, I would go with a filter like you mention. If you use one of the FAST specific connectors you have to add meta.collection in addition to contentsource in your filter, as they will not assign a value to contentsource.

    Regards,
    Mikael Svenson 


    Search Enthusiast - SharePoint MVP/WCF4/ASP.Net4
    http://techmikael.blogspot.com/
    Tuesday, August 30, 2011 12:12 PM
  • Thanks everyone for your replies.

    Mikael,

       I'm trying to use a scope but am having trouble - the scopes in my query SSA, don't show content sources from my Content SSA.

       Is that what you're talking about in your last sentence in the preceeding post? (the one about adding meta.collection)?

       If so can you elaborate on this slightly? where do I set the meta.collection, and when I do that will it enable the content source to be selected?

    Wednesday, September 7, 2011 3:41 PM
  • Hi Jack,

    You will have to use PowerShell for your scopes, and this is one of my mantras with FS4SP. Always always use powershell to create your scopes :) Using PowerShell you can write scopes using FQL, and not KQL, giving you much more flexibility and options. You can actually create scopes which not only limit what you get back, but you can use them to change how things are sorted.

    Couple of references:

    http://technet.microsoft.com/en-us/library/ff453895.aspx
    http://techmikael.blogspot.com/2011/03/why-you-still-should-prefer-powershell.html

    Regards,
    Mikael Svenson 


    Search Enthusiast - SharePoint MVP/WCF4/ASP.Net4
    http://techmikael.blogspot.com/
    Wednesday, September 7, 2011 6:37 PM
  • Thanks Mikael, I will check out those references!
    Wednesday, September 7, 2011 8:19 PM
  • I was having some issues with my search results which was confusing the heck out of me.

    (I got results for a content source I had deleted!)

    I think I have that worked out now, so I'll hopefully get to this this afternoon or evening.

    Thursday, September 8, 2011 6:16 PM
  • Ok this took a bit of wrangling and some new understandings on my part to understand.

    I'll post my results here in hope that it might help others...

    The command I used was:

    New-SPEnterpriseSearchQueryScope -SearchApplication "FAST Search Query SSA" -Name thisisthescopename -Description "A scope for a file share" -DisplayInAdminUI 1 -ExtendedSearchFilter "contentsource:nameofcontentsource"
    

     

    Some explanation - the -SearchApplication is the name of our FAST query SSA - yours might be named differently

    The -ExtendedSearchFilter nees some explanation,

    First, the word contentsource needs to be in lower case - I had orignally tried it in mixed case (ContentSource) and that didn't work

    Next, the :nameofcontentsource - this is the artificial name you gave the content source over in your FAST Content SSA - it's NOT the URL, UNC Path etc.. of the content!

    for example, if in your FAST Content SSA, you created a content source on \\server1\files and called it myfiles

    then your ExtendedSearchFilter would look like this: "contentsource:myfiles"

    ok so that's the end of my explanation of the command itself.

    After a few minutes the scope is created and we can test it in a normal FAST search site in sharepoint

    Lets say that we indexed a bunch of content on monkeys and we want to see if it turns up in our new scope.

    We would search for  scope:thisisthescopename monkey

    If we get the results we want, then we know the scope is working.

     

    One step beyond this, we can create a special search page for this scope,

    create a new FAST search site in sharepoint.

    do a bogus search on the sites home page so that it shows you the results page

    Edit the results page in the browser

    find the web part at the bottom that displays the results

    edit that web part

    On the right hand side of the page, are the web parts properties, one of them is 'scope'

    put thisisthescopename in that web part and save the page  (don't forget to check in/publish if needed too)

    now on your newly modified search page, when you enter a search for monkey, it will limit it to your scope.

     

    Monday, September 19, 2011 3:46 PM