ESProxy
Overview
This document provides details on Elastic search proxy services deployed on small data cluster. These services are used by PHPFox job board to provide jobs/resume matching for job seekers/employers
Test
ESProxy service test can be done by clicking on Greeting Test link. Greeting Test
We can use Google tool 'Advanced REST client' for all kind of ESPRoxy services test by adding as a Chrome extension into chrome browser.
Service Guidelines
- Make sure JSON pay load is valid. You can use external tools such as http://jsonformatter.curiousconcept.com/
- Make sure to send data as per the field. For example, don’t send strings in number fields such as salary or experience.
- Follow mm/dd/yyyy format for all dates
- If you don’t have value for a field, no need to include in JSON. Payload will be smaller
- When you construct JSON, make sure to use filed name as is. Its case sensitive. If you don’t use these names, we’ll create a new field assuming it’s a new attribute. So you must follow field names properly when constructing JSON
List of Services
ESProxy services are divided into following multiple categories.
- Data Services
- Freelancer Servcies
- Directory Servcies
- Search Services
- Recommendation Services
- Suggestion Services
Data Services
Service Name | Description | Service URL |
---|---|---|
Add Job | Add a job to elastic search index | http://192.168.180.93:9090/addJob |
Update Job | Update an existing job | http://192.168.180.93:9090/updateJob/uorrF_M-RxeByQBGsATx7Q |
Get Job Details | Get details on a specific job posting | http://192.168.180.93:9090/getJobDetail/lWDaBYCVQZid2DvCUuEkvQ |
Add Rating | Add ratings for a specific job posting. Used for collaborative filtering | http://192.168.180.93:9090/addRating |
Update Rating | Update an existing rating | http://192.168.180.93:9090/updateRating/gLl_eYo1Q6yT-I8odDliZg |
Get Rating Detail | Get details on a specific rating | http://192.168.180.93:9090/getRatingDetail/gLl_eYo1Q6yT-I8odDliZg |
Add Resume | Add Resume | http://192.168.180.93:9090/addResume |
Update Resume | Update existing resume | http://192.168.180.93:9090/updateResume/22VN4p3zSDyUEtcqfQpkQA |
Delete Job | Delete a job | http://192.168.180.93:9090/deleteJob |
Delete Resume | Delete Resume | http://192.168.180.93:9090/deleteResume |
Freelancer Services
Service Name | Description | Service URL |
---|---|---|
Add Profile | Add a freelancer/buyer profile | http://192.168.180.93:9090/addProfile |
Add Hourly | Add a hourly | http://192.168.180.93:9090/addHourly |
Add Hourly Job | Add a hourly job | http://192.168.180.93:9090/addHourlyJob |
Update Profile | Update Profile | http://192.168.180.93:9090/updateProfile |
Update Hourly | Update Hourly | http://192.168.180.93:9090/updateHourly |
Get Profile Details | Get details of a profile | http://192.168.180.93:9090/getProfileDetail |
Get Hourly Details | Get Details of a hourly | http://192.168.180.93:9090/getHourlyDetail |
Get Hourly Job Details | Get Details of a hourly job | http://192.168.180.93:9090/getHourlyJobDetail |
Delete Profile Details | Delete details of a profile | http://192.168.180.93:9090/deleteProfile |
Delete Hourly Details | Delete Details of a hourly | http://192.168.180.93:9090/deleteHourly |
Delete Hourly Job Details | Delete Details of a hourly job | http://192.168.180.93:9090/deleteHourlyJob |
Directory Services
Service Name | Description | Service URL |
---|---|---|
Add Provider | Add Provider Details | http://192.168.180.93:9090/addProvider |
Add Service | Add Service Details | http://192.168.180.93:9090/addService |
Update Provider | Update Provider details | http://192.168.180.93:9090/updateProvider |
Update service | Update Service details | http://192.168.180.93:9090/updateService |
Get Provider Details | Get Provider details | http://192.168.180.93:9090/getProviderDetail |
Get Service Details | Get Service details | http://192.168.180.93:9090/getServiceDetail |
Delete Provider | Delete a Provider | http://192.168.180.93:9090/deleteProvider |
Delete Service | Delete a service | http://192.168.180.93:9090/deleteService |
Search Services
Service Name | Description | Service URL |
---|---|---|
Search Jobs | Provides matching jobs based on keywords and search criteria provided. Apart from keyword in q field, it allows to pass additional criteria. In addition, this service provides matching field names and list of keyword that matched. | http://192.168.180.93:9090/searchv1Jobs?q=java&ci=&st=&c=&ti=&fpd=&tpd=&fex=0&tex=0&fsl=0.0&tsl=0.0&jc=&jt=&js=&ed=&cl=&in=&i=i_jobs_v1&t=t_joblistings_v1&size=10
ci= city st= state c = company ti=job title fpd=from postdate tpd=to post date fex=from experience tex=to experience fsl=from salary tsl=to salary jc=job category jt=job type js=job source (monster, dice etc.) ed=education cl=career level in=industry size=number of results needed. Defaults to 10 |
Search Resumes | Provides matching resumes based on keywords and search criteria provided. Apart from keyword in q field, it allows to pass additional criteria. In addition, this service provides matching field names and list of keyword that matched | http://192.168.180.93:9090/searchResumes?q=microsoft&ci=&st=&c=&ti=&fpd=&tpd=&fex=0&tex=0&fsl=0.0&tsl=0.0&jc=&jt=&ed=&cl=&in=&size=10
ci= city st= state c = company ti=job title fpd=resume from update date tpd= resume to update date date fex=from experience tex=to experience fsl=from salary tsl=to salary jc=job category jt=job type (full-time, part-time etc) ed=education cl=career level in=industry size=number of results needed. Defaults to 10 |
Search Hourlies | Provides matching Hourlies | http://192.168.180.93:9090/searchHourlies
Sample Payload { "fields": { "publishedBy_raw": "Y" }, "sortBy": { "postDate": "DESC" }, "facets": { "category": "category" }, "size": 10 } |
Search Hourlies with Skills and Privacy | Search Hourlies with an option to provide multiple skills and Privacy settings | http://192.168.180.93:9090/searchHourliesWithSkllsAndPrivacy
Sample Payload { "fields": { "publishedBy_raw": "Y" }, "sortBy": { "postDate": "DESC" }, "facetFilters": { "hourlyPrivacy.hourlyPrivacy_raw": [ "visible", "limited" ] }, "facets": { "category": "category" }, "size": 10 } |
Search Providers | Provides matching service providers based on the search criteria | http://192.168.180.93:9090/searchProviders
Sample Payload { "q":"hope for home less", "from":0, "fields":{ "locations.zipCode.zipCode_raw":"72201" }, "size":10, "sortBy":{ "esLoadUpdateDate":"DESC" } } |
Search Services | Provides matching services based on the search criteria | http://192.168.180.93:9090/searchServices
Sample Payload { "fields":{ "service_name.service_name_raw":"Outpatient Mental HEalthFacIlities" }, "from":0, "size":10 } |
Search Directory – For Reentry Planner | Provider matching services with providers details and aggregations for re-entry planner | http://192.168.180.93:9090/searchDirectory
Sample Payload { "q": "Housing+prison", "joinByfields":{ "locations.state.state_raw":"AR" }, "serviceIsForSubCat1":{ "Age Group":["Teens","Adults","Adult"], "Gender":["Men"] }, "serviceCategorySubCat1":{ "Housing":["Safe Housing"], "Education":["Skills &Training","Basic Literacy"] }, "serviceCategorySubCat2":{ "Basic Literacy":["Education"] }, "serviceCategorySubCat3":{ "Education":["Educational Programs"] }, "facets": {
}, "keywordAsFacet": true, "size": 1, "from": 0 } |
Recommendation Services
Service Name | Description | Service URL |
---|---|---|
Match Jobs | Provides matching jobs based on user preferences. The service internally reads user’s resume and applies necessary boosting parameters to provide recommended jobs for a given user id. Caller of the service simply need to provide user id as an input | http://192.168.180.93:9090/matchJobs?userid=pZfEvfqkSLyic-KXvMakhA |
Match Resumes | Provides matching resumes for a given job. It reads preferences from the job description such as salary, skills etc to recommend resumes. Caller of the service need to provide job id as an input | http://192.168.180.93:9090/matchResumes?jobid=vSUOYmJKRMSNQedWjsRhNQ |
Recommend Jobs | Recommends matching jobs based on collaborative filtering algorithm. | http://192.168.180.93:9090/recommend?userid=241 |
Related Job Titles | Provides related job titles for a given key word. It’s based on job titles available in ONET database. | http://192.168.180.93:9090/relatedTitles?jobTitle=CNC operator |
Match Freelancers | Provides matching freelancers based on requirements for the given job. | http://192.168.180.93:9090/matchFreelancers?jobid=jiyNi1-JRBOMtmEMBkj95w |
Similar Resumes | Provides similar resumes based on the attributes from the given resume | http://192.168.180.93:9090/similarResumes?userid=B9n-K4OiTwOZvhyS72LeVw |
Similar Jobs | Provides similar jobs based on the attributes from the given job | http://192.168.180.93:9090/similarJobs?jobid=jiyNi1-JRBOMtmEMBkj95w |
Suggestion Services
Service Name | Description | Service URL |
---|---|---|
Suggest Locations | Provides suggested locations based on the text. Used for auto complete | http://192.168.180.93:9090/suggestLocations?text=edi |
Suggest Job titles | Provide suggested job titles for auto completion | http://192.168.180.93:9090/suggestJobTitles?text=software |
Suggest Companies | Provide suggested companies for auto completion | http://192.168.180.93:9090/suggestCompanies?text=ci |
Suggest Categories | Provide suggested categories for auto completion | http://192.168.180.93:9090/suggestCategories?text=Pr |
Suggest Industries | Provide suggested Industries for auto completion | http://192.168.180.93:9090/suggestIndustries?text=t |
Suggest Career Levels | Provide suggested Career Levels | http://192.168.180.93:9090/suggestCareerLevels?text=f |