Using Microsoft Search Server Express 2008 Web Services

by Aboo Bolaky 21. November 2008 09:39

WebService Location

The Url for the webservice is usually in the form of http://servername:portnumber/_vti_bin/Search.asmx

PS: Make sure you enter the actual server name instead of the IP address. Otherwise, you might end up with an ArgumentNull Exception when trying to invoke the QueryEx webmethod.

PS: Always call the Status Webmethod (returns "ONLINE" if the search service is up and running) prior to actually querying MSSE 2008.

Crawling Content

To be on the safe side, always add a crawl rule with a path of*  and a crawl configuration of "Crawl complex URLs (URLs that contain a question mark (?))". Otherwise, the crawler will ignore pages that contain querystrings. Big thanks go to David for pointing this out to me.

Search Scopes

You would use search scopes where you may want to query within "specific parts of a collection". This is analogous to collection/subcollections in Google Mini. The gotcha here is that if you specify a search scope in your query (either SQL-Like query or keyword based query), you might end up with an "Scope in your query does not exist. " error message. This is not the end of the world. The problem here is that you search scope is supposed to be SHARED across the Shared Services Provider. Now, how do we create a shared scope? It's kinda hard to figure this one out. When you normally create a search scope, there is no option to choose whether or not the scope can be shared.

Creating a Shared Scope in MSSE 2008.

The only way I found to create a shared Scope is to create a search scope using the normal approach (Scopes for this search Server ->New Scope). Once you return to the View Scopes page, notice that there is no Create Shared Scope on the drop down list for the target search scope. The current url looks like : http://servername/_layouts/viewscopes.aspx?mode=site. Substitute the mode=site querystring key pair with mode=ssp and hit Enter. You are now in Shared Services Provider mode. When you view the items in the drop down for your search scope, you now have an option to "Make Copy as Shared". Once this is clicked, a Shared Scope with a name of "Copy of .." is created. Of course, do not forget to add rules to your search scope.

You can then manually update your new search scope on the Search Administration Home Page. Once the update is complete, you can use your name of shared scope in your Query XML. One thing i noticed is that there is no place where I can update the name of the Search Scope. weird.. If you know how to do this, please drop me a few lines. i'd be interested to know :P

Word Stemming

This is disabled by default. To enable stemming, you need to perform a basic search on the Search Center Site. On the result page, go to Site Settings -> Edit Page. Edit the webpart Search Core Results (Modify shared webpart). Expand Results Query Options. Make sure the checkbox Enable Search Term Stemming is checked. Voila !!

I hope this is enough to get you going with Microsoft Search Server Express 2008. Cool



.Net | Applications | Tips & Tricks

Tag cloud

Flash Player 9 required.

About Me

I wish I could write something here..
//TODO: ElaborateMe