Ok, so we struggled with a little problem which could be a big problem if you don’t know where to look. Imagine you’ve got your site with a couple of lists, but list items aren’t indexed by the search engine. What to do? This post is meant as a quick guide on stuff you should check.
- First of all, make sure you can search. That’s kind of a different topic which involves checking if your search services are running, your service application is setup properly and there’s a content source which points to your site. For instructions on how to setup search; read the f* manual.Ok, so from this point on, I’ll assume search is working and you’re able to find other stuff on your site. But the stuff you want to find, you cannot.
- At web level, there’s an exclusion setting. Check Site Settings => Site Administration => Search and offline availability. You can exclude an entire site, and manage whether lists with fine-grained permissions are indexed or not.
- You can configure these things with powershell too if you want to. I’m saying this because there seems to be one more setting (the first one) which isn’t shown in the GUI:
- At list level, you can also exclude a list from appearing in search results. Check that in your list settings.
- There’s exclusion in the search service itself. Someone might have set up a rule which excludes your items. Perhaps not that likely, but still worth checking.
- And then for the one that caught me: hidden lists aren’t indexed!If you hide a list (SPList.Hidden), the search indexer won’t crawl it. That kind of makes sence. It would be kind of pointless to hide a list if people would then still be able to find it in search, right?I did read some articles mentioning that your list will still be indexed when it’s already in the search index (so it’s visible and indexed, and then you change it to be hidden). But I’m not sure if that’s true, or why you would use that (resetting the index will mean it’s then omitted from search).
- And finally, make sure your search crawl account can actually access the list. But when you’ve got access rules setup on web application level, even fine-grained permissions won’t mess with that, so it’s not that likely your crawl account won’t have access.
I guess that’s them. Should I remember some more, I’ll add them. Or feel free to post more options in the comments and I’ll include them in the post. Thanks!