Jump to: navigation, search

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.

Chrome Extension

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.

  1. Data Services
  2. Freelancer Servcies
  3. Directory Servcies
  4. Search Services
  5. Recommendation Services
  6. 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