"Minor" Search limitations in Office 365

If you’re a SharePoint developer like me, you probably find the Query Throttle in SharePoint an absolute pain. This is a feature where, under an unnecessarily complicated set of conditions, if you try to ask for too many list items in one query, SharePoint refuses.

Now, while I understand why such a limit is necessary – albeit I’d rather it was simpler – it is something of a problem. For example, multi-choice columns cannot be indexed. If you want to query such a column, and there are more than 5000 items in the list, we’ll, you’re outta luck.

That situation is surprisingly common in Document Management systems. Continue reading “"Minor" Search limitations in Office 365”

"Minor" Search limitations in Office 365

Content Approval and Office 365 Search

I have found an gotchya with Content Approval and Office 365 Search, specifically around draft item security. Embarrassingly, it did take me a while to work out that this was what was going on.

You can use content approval to allow only certain users – such as editors and approvers – the right to see draft items. However, if you do this, then the Search Crawl Account – which normally only has ‘read’ access – cannot see the draft documents to index them. Thus, draft documents that are visible to editors or approvers only never appear in the search results. Continue reading “Content Approval and Office 365 Search”

Content Approval and Office 365 Search

Tabular Search Results with Column Filters

The customer I was with last week, like many others, wanted their search results to appear in a table form – like a List View, in fact.

List View Search Results

Now, I’ve written the XSL to do this for various solutions over the years, but they had found a CodePlex project for this – SharePoint 2010 Search Results in Tabular Format. This project has a feature I’d not managed to write, or had seen working before – column titles that were sortable and filterable:

Sorting and Filtering on Columns

That’s pretty neat. And it’s all XSL. You can, if you edit the XSL and the Columns you get back from search, show, sort, and filter other columns of data.

One observation I would make is that this XSL does not format Hit Highlighting – that is, matches aren’t shown as strong, and the summary doesn’t contain any ellipsises [ … ] characters. However, you could easily add these from the ‘standard’ XSL to get hit highlighting working again.

Tabular Search Results with Column Filters

Deleting the Search Service Application hangs

So, related to my previous post, we had problems initially deleting the Search Service Application. The Search Content Application’s Database had become ‘Suspect’. I’ve had this happen a few times before (I’m not sure why – I ain’t a DB Admin) and I have a little script that I run that seems to fix this, mostly.

EXEC sp_resetstatus 'PROBLEM_DB_NAME'
GO
ALTER DATABASE PROBLEM_DB_NAME SET EMERGENCY
DBCC checkdb('PROBLEM_DB_NAME')
ALTER DATABASE PROBLEM_DB_NAME SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ('PROBLEM_DB_NAME', REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE PROBLEM_DB_NAME SET MULTI_USER
GO

No, I’m not entirely sure of the logic of how it works, and I’m pretty sure I can here DB Admins across the world screaming, but for my dev systems that I can afford to trash, it seems adequate.

Anyway, on this occasion it didn’t work, so I decided to simply delete the Search Service Application. I tried this through the UI – but it just seemed to hang. I tried again – and it seemed to hang. It wasn’t going away. I tried PowerShell – which took me a while as I’m still a fan of STSADM – and that didn’t work.

In the end I found the solution – on Donal Conlon’s blog – use STSADM -o deleteconfigurationobject

Yes, there’s a certain irony in that.

Deleting the Search Service Application hangs