I think it is about time I let you guys know about what I am currently working on, and how it can solve some of your current Sharepoint Portal Server advanced search problems/issues.
Introducing my SPS Advanced Search Tools. (SAST)
I have been working on a toolkit to provide the web part developer the ability to run advanced boolean searches against the underlying MSSearch engine that is integrated with Sharepoint Portal Server 2003. I have written a managed assembly that provides the developer with a means of converting a standard google-style search string into an MSSQLFT WHERE clause that can be plugged directly into the MSSearch engine query packet to produce the needed results.
Features include:
- Full boolean condition support between terms (AND, OR)
- Term negation (Boolean NOT) by placing a negative symbol before a term
- Logically grouped boolean terms by using ( and ) to form complex queries
- Phrased and unphrased search terms which work with both the above mentioned features
- Special term extraction (Special terms are those such as site: language: location:)
- Full site-scoping across the portal by using the site: special term with the site name appended
- Support for Stemming (Inflection transformation performed on terms, which matches a word in its similar/plural forms eg: dog, dogs)
Once the resultant WHERE clause is produced, it can be piped into the MSSearch engine for processing. I am also working on a web part that wraps the functionality of the SAST, and provides a simple search interface and the ability to set the search scope options graphically. Everything is powered by an XML configuration file that ships as a class resource, the web part renders results in the same fashion as the OTB search.
How will this help me/my organisation?
By providing you with a simple search web part that will plug into your portal and begin using right away, just as though it was OTB with no code nessecary.
If you require a different user interface, developers can simply inherit from the web part and render their own search view! As simple as that!
Can I get a copy of the source code?
At the moment I am keeping the source code under locks until I am satisfied with the quality of the code and have settled on a Beta source-tree. I need to have conversations internally before I make this an open project, as there are plans for this to be published to the Microsoft Web Part Gallary as an easy add-in.
Keep in mind that the project is still extremely immature and I need to have it tested internally before releasing it out into the wild. I plan on having a release before or at the end of my Application SIG Roadshow.
Please make sure you email me with your feedback and queries if you are interested in what you have read here!
t-matcos@microsoft.com