I have a database table with a list of URLs that I would like Sharepoint Search 2013 to index so they show up in search results - the URLs are a mixture of content types - web pages, Word documents, PDFs, etc. All the URLs are internal to my network but aren't Sharepoint pages or files stored in Sharepoint. I'm very new to Sharepoint and Sharepoint Search and am at a bit of loss on how to go about this (to make it even more difficult I would like to apply ACLs to the results, and the ACLs are in another table but that's another question!). If it helps, I am using Sharepoint 2013 Enterprise Search on a Windows 2008 R2 server.

Does anyone have any ideas on how to achieve this? As basic as possible if you can, but any help would be brilliant. I have searched for options but can't seem to find anything relevant - BDC and BCS have come up a lot but seems to be more indexing content returned by the connector, what I want to do is to use the data returned/held in the table as pointer to items to be indexed.

Thanks in advance for any help.


If you use SharePoint designer to build an external content type you can usually crawl the content as long as you have a Read List and Read Item. You then create a Content Source in the Search Service Application that uses the External Content Type.

Your challenge is that while the database contents will get crawled, the crawler won't (as far as I know) traverse the links in your database. It will index them as the datatype you specify in the model, most likely string.

BTW, this is not a basic activity, particularly when you state that you want to add security trimming. Adding a security descriptor is possible with BCS, but I would read Scot Hillier's book on BCS (look on Amazon for the "baton" book.)

  • I did wonder if the following would work, and will try and test it asap... Export the database content as links into one large webpage (or split into several pages) - shouldn't be too difficult to script as they are only titles and URLs. Then get the server to index that page with a page depth of 1 so it would only index those pages. Of course this doesn't resolve the security but hopefully I could use post-trimming to achieve that (msdn.microsoft.com/en-us/library/office/…)? Thoughts would be appreciated, and thanks for the response!
    – Orielton
    Sep 3 '14 at 12:25
  • Exporting the links to a file did work and is fairly simple to do... now just the security trimming element to worry about (might be a big just!)
    – Orielton
    Sep 3 '14 at 13:43
  • OK, but that's not using the BCS from the database. If you go that route you'll need to secure the links. Sep 3 '14 at 15:04

You have to develop a custom connector for that (or find someone who does the job for you) - this article is a good starter:http://msdn.microsoft.com/en-us/library/office/ee556429(v=office.15).aspx#ConnectorFramework_SPIndexingConnectors

At first you need the connection to the database, then you need to fetch all documents and pass them to the SharePoint crawler - plus add the item security (that can be the most challenging aspect if there is some business logic behind it).

Not an easy task, but doable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.