The article mainly focuses on the problem faced in jobs portal to provide the mechanism to employers/recruiters to search job seeker’s uploaded and created resumes on the basis of given template, and vice versa for the job seekers to search the jobs on the basis of the specified criteria.
There are two solutions to cater this issue.
- Solution No.1:
All the relevant information regarding the job seeker should be stored in the database including their resumes. When employers fetch the resume on the basis of specified criteria, the records matching the certain criteria is fetched from the database by using normal SQL Query Language. But when employers specify the free text searching criteria (Free Text searching means specifying the keywords matching the result like Visual Basic developer, SQL Server experts etc.), the records are fetched from the database by using Free Text searching mechanism. SQL Server handles those fields in which Free Text searching applies separately to other fields by using separate pages, which in some extent, improve the performance but not always the better choice.
The main drawback in the solution is that in jobs portal, we have millions of job seekers' (e.g. In monster.com etc.) profiles and this number increases day by day. So fetching the resumes from millions of records by using Free Text searching of SQL Server drastically degrades the performance of query execution time. We have inserted the resume (which normally in any case not less than 2 pages of MS Word document), so fetching those fields is also a teasing time query execution plan for SQL server.
- Solution No.2:
The 2nd and the most efficient way is to save the resumes in the HTML file format by specifying the meta tags (Meta tags is used to uniquely identify the HTML documents) and search those resumes by using the Index Server which is a part of Windows 2000/Windows Xp/Windows Server 2003.
Part A) Dynamic HTML Creation
The technique that I have used here is the creation of HTML templates, defined relevant fields and Meta tags names, through which I will be able to search the resumes in the 2nd part. (HTML template file is available with source code).
When job seekers create their profile and enter all the relevant information, I can retrieve all the contents of the template HTML page in the memory by using the
StreamReader class in the
System.IO namespace and one by one replace all the user’s provided credentials in the template HTML page and also set the meta tags name’s contents value from the user's given information and save the resume to HTML page by giving the filename like profileId.html (Profile ID is unique in any circumstance).
Part B) Search through Free Text and Meta Tags of HTML Pages by using Index Server
Index Server is a part of Windows 2000/Windows XP/Windows Server 2003, so there is no extra cost involved by using Index Server.
To configure Index Server, follow these steps:
- Locate the Index Server
Start --> Setting --> Control Panel --> Administrative Tools --> Services and Applications --> Index Service
- Create a new catalogue
Right click Index Server --> New --> Catalogue by providing the Catalogue name and folder in which Index Server manages the catalogue
- Map the searched folder
Right click Directories under Catalogue name and then Select New --> Directory --> Locate the mapped directory and give it alias (UNC) like Profiles.
- Setting Catalogue’s Properties
Right Click Catalogue --> Properties -->(Tracking --> WWW Server --> Select Default Website --> OK )
- Restart Index Server
Restart the Index Server.
- Full Rescan the Mapped Folder
Right Click the Mapped Folder --> All Task --> Rescan (Full)
- Refresh the Mapped folder meta tag properties
Right Click Properties --> All Task --> Refresh List
- Cache the Meta Tag Properties
Select catalogue --> Properties --> Select the Meta Tag properties one by one.
Double click (Meta Tag Property) --> check the Cached Option and Select "VT_LPWSTR" option for string properties.
Now from the development environment, I have used Index Server data access "ixssco control" type library with ASP.NET for Visual Basic. NET, but we can also use ASP 3.0, Visual Basic 6.0, ASP.NET for C#.NET etc. First, I have gathered all the information in which employee wants to see the resume, and then on the basis of information, built the dynamic query to send to Index Server object after defining the columns of meta tags and then displayed the result in the data grid.
This application is not only used for Job Portal but can be used to search specific data from an HTML page by using Index Server. And to make the dynamic HTML pages, we can not only generate the HTML but can also generate MS Word, Text Format, RTF format document as well.
Adnan Ahmed is SharePoint Architect in Version 1(http://www.version1.com), the IT Consulting Company in Ireland and has involved with many large enterprises to help them realise real benefits of SharePoint 2007|2010.
SharePoint Architect | Blogger | IT Evangelist | MCPD SharePoint 2010 Developer| MCITP SharePoint Administrator 2010
Linked In Profile: http://www.linkedin.com/in/syedadnanahmed