Integration Document
Last updated: 12 February, 2021

Introduction

RChilli Inc. is the most trusted partner for Parsing, Matching, and Data enrichment for global recruiting platforms.

RChilli Search & Match API allows you to search and match candidates and jobs with great flexibility than simple database searching and matching algorithms. Here in this document, you will get to know about our different API methods for integrating your search or you can visit our Search Engine Panel Interface Document for the interface.

RChilli Search Engine is a semantic platform and should not be used to store files/documents. Document indexing, searching or matching should be done based on document id. So, the best approach is index document with RChilliSearch engine with ID, store the document information in you storage system (database) with the same IDand when you query for search or match any document using RChilli Search Engine we will return those ids and you can get corresponding data to those ids from your storage system (database).

API Methods


1. Parse and Index


As the name specifies here, in one API call, you get documents parsed (RChilli Resume Parser v8/RChilli JD Parser v3) and indexed. To search your documents using RChilli Search and Match API, you require to parse and index them. The Indexing provides operations for managing the indexes. This includes adding and updating the index as well as removing from it and rebuilding it.

Note: To update the index of a document, simply call this method using index ID of the document to be updated.

Before parse and indexing documents, you require the following:

  • Resumes
  • Job Descriptions

That is It!

API Information:-

Method Name: parseAndIndex

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/parseAndIndex

Method Type: POST

Content-Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexType String Required Name of the file type to be indexed.
indexKey String Required Use your user key as shared by RChilli team.
subUserId String Optional Your user's unique id.
id String Required Set unique index ID so that it can correlate with your data.
fileContent String Required Provide file content in base64 format.
fileName String Required Name of the file with the extension.
commit Boolean Optional Default value is false. Check Commit for more details
deduplication Object Optional Deduplication helps to avoid indexing duplicate records in search engine.


JSON Request For Parse And Indexing

Click for more details
{
  "index": {
    "indexType": "Resume/JD",
    "indexKey": "Your user key",
    "subUserId": "Your user's unique id"
  },
  "data": {
    "id": "Unique Id",
    "fileContent": "(Resume/JD) file content in base64 data",
    "fileName": "file name with extension"
  },
  "commit": "false"
}

         

JSON Response for Parse And Indexing

Click for more details
{
  "status": "200",
  "indexType": "Resume/JD",
  "subUserId": "Your user's unique id",
  "action": "indexed/indexupdated/updated/ignored",
  "id": "indexed Unique Id",
  "doc": "RChilli Resume/JD output in Base64"
}

         

2. Simple Search:


The Simple Search for API method empowers you to make your document searchable with a string query without specifying search parameters. Using it, you get candidates - Score (out of 100), FullName, CurrentJobProfile, CurrentEmployer, TotalExperienceInYear, City, State, Country, id (Index).

Before searching documents, you only require to Parse and index the documents via RChilli Search and Match API using your index key.

API Information:-

Method Name: simpleSearch

API URL: http://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/simpleSearch

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexType String Required Name of the file type to be indexed.
indexKey String Required Use your user key as shared by RChilli team.
subUserId String Optional Your user's unique id.
keyword String Required Text query contains entities like job profile, skill, location or organization, etc.
facet Object optional for more details on facets click here
sorting Object optional for more details on sorting click here
filter Object optional for more details on filters click here
geoSearch Object optional for more details on geoSearch click here
ExplainScore boolean optional Default is false. if set true turn details about how a document is searched. for more details click here
ExplainScoreType String optional Default is text. It Can be set as JSON and work if ExplainScore is true. for more details click here
pageSize boolean optional Number of records return in one api call, detfault is 50. for more details click here
pageStart boolean optional Start index of record to return. Can be used for paging when multiple record are found search.Default is 0. for more details click here
excludeDocumentIds Array optional Document Ids which you don't want to consider in search.

JSON Request for Simple Search

Click for more details
{
  "index": {
    "indexType": "Resume/JD",
    "indexKey": "Your user key",
    "subUserId": "Your user's unique id"
  },
  "query": {
    "keyword": "Software developer with 5 year experience from Pune having B.tech Degree and worked in Wipro"
  }
}
         

JSON Response for Simple Search

. Click for more details
{
  {
    "count": 1753,
    "pageStart": 0,
    "pageSize": 10,
    "records": [
        {
            "score": 91.25,
            "CurrentEmployer": "Ivitesse Payrol",
            "TotalExperienceInYear": 8.4,
            "CurrentJobProfile": "Software developer",
            "State": "Uttar Pradesh",
            "FullName": "PREM CHANDRA JAISWAL",
            "Country": "India",
            "id": "1911281105521152",
            "City": "Ghazipur"
        },
        {
            "score": 91.25,
            "CurrentEmployer": "Chetu India PVt ltd",
            "TotalExperienceInYear": 6.7,
            "CurrentJobProfile": "Software Developer",
            "State": "Delhi",
            "FullName": "Ashish Kumar Singh",
            "Country": "India",
            "id": "1911281216201120",
            "City": "NANGLOI"
        },
        {
            "score": 91.25,
            "CurrentEmployer": "Cogent Consulting",
            "TotalExperienceInYear": 7.5,
            "CurrentJobProfile": "Software Developer",
            "FullName": "   ",
            "id": "1911280610501150"
        },
        {
            "score": 91.25,
            "CurrentEmployer": "VestServe Financial Systems",
            "TotalExperienceInYear": 5.6,
            "CurrentJobProfile": "Software Developer",
            "State": "MA",
            "FullName": "James Barrett",
            "Country": "USA",
            "id": "1911280707331133",
            "City": "Swampscott"
        },
        {
            "score": 91.25,
            "CurrentEmployer": "TCS",
            "TotalExperienceInYear": 7.4,
            "CurrentJobProfile": "Software Developer",
            "FullName": "Anjani",
            "id": "191128074101111"
        },
        {
            "score": 91.25,
            "CurrentEmployer": "AT&T Inc",
            "TotalExperienceInYear": 5.5,
            "CurrentJobProfile": "Software Developer",
            "State": "Karnataka",
            "FullName": "Rohit Ranjan",
            "Country": "India",
            "id": "1911280940531153",
            "City": "Bangalore"
        },
        {
            "score": 91.25,
            "CurrentEmployer": "Fidelity Labs",
            "TotalExperienceInYear": 9.7,
            "CurrentJobProfile": "Software Developer",
            "State": "NC",
            "FullName": "Stefan T Kendall",
            "Country": "USA",
            "id": "1911280955201120",
            "City": "Raleigh"
        },
        {
            "score": 91.25,
            "CurrentEmployer": "One Virtual Source OVS Group LLC",
            "TotalExperienceInYear": 10.8,
            "CurrentJobProfile": "Software Developer",
            "State": "TX",
            "FullName": "Krunal A. Darji",
            "id": "1911280346411141",
            "City": "Houston"
        },
        {
            "score": 91.25,
            "CurrentEmployer": "Unifytech Pvt. Ltd",
            "TotalExperienceInYear": 7.5,
            "CurrentJobProfile": "Software Developer",
            "State": "Delhi",
            "FullName": "VARUN KUMAR",
            "Country": "India",
            "id": "1911280831411141",
            "City": "Delhi"
        },
        {
            "score": 91.25,
            "CurrentEmployer": "Goldman Sachs",
            "TotalExperienceInYear": 13.1,
            "CurrentJobProfile": "Software Developer",
            "FullName": "ROJAN SHRESTHA",
            "id": "1911280928571157"
        }
    ]
}
         


3. Boolean Search:


In the boolean (advance) search, unlike simple search, you can customize your search by specifying search parameters like - Job Profile, Company, Degree, etc.

This gives you more flexibility in searching by specifying required/optional search parameters.

You can search values for multiple fields with multiple values.

You can find the fields list available in facets here for Resume and JD

Multiple values are searched based on the OR conditions.

Multiple Fields are searched in the required conditons on the basis of AND condition. while in the optional condition it is search with OR condition.

API Information:-

Method Name: booleanSearch

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/booleanSearch

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexType String Required Name of the file type to be indexed.
indexKey String Required Use your user key as shared by RChilli team.
subUserId String Optional Your user's unique id.
query String Required Put keywords for searching resume/jd.
required Object Required JSON of fields with list values. Multiple fields are search with AND condition. while their multiple values search with OR condition.
optional Object Required JSON of fields with list values. Multiple fields are search with OR condition. while their multiple values search with OR condition.
sorting Object optional for more details on sorting click here
facet Object optional for more details on facets click here
filter Object optional for more details on filters click here
geoSearch Object optional for more details on geoSearch click here
ExplainScore boolean optional Default is false. if set true turn details about how document is searched. For more details click here
ExplainScoreType String optional Default is text. Can be set as JSON and work if ExplainScore is true. For more details click here
pageSize boolean optional Number of records return in one API call, default is 50. For more details click here
pageStart boolean optional Start index of record to return. It Can be used for paging when multiple records found in search. The default is 0. For more details click here here
excludeDocumentIds Array optional Document Ids which you don't want to consider in search.

JSON Request for Boolean Search

Click for more details
{
  "index": {
    "indexType": "Resume/JD",
    "indexKey": "Your user key",
    "subUserId": "Your user's unique id"
  },
  "query": {
    "required": {
      "CurrentJobProfile": ["Software Engineer"],
      "Skill": ["PHP","JAVA","Web Development"]
    },
    "optional": {
      "City": ["Pune","Mumbai","Noida"],
      "Degree": ["B.Tech","MCA"]
    }
  }
}

JSON Response for Boolean Search

Click for more details
{
    "count": 241,
    "pageStart": 0,
    "pageSize": 25,
    "records": [
        {
            "score": 100.0,
            "CurrentEmployer": "NUCSOFT Ltd",
            "TotalExperienceInYear": 1.7,
            "CurrentJobProfile": "SOFTWARE ENGINEER",
            "State": "Maharashtra",
            "FullName": "Abhishek Vijay Borkar",
            "Country": "India",
            "id": "1912010352261226",
            "City": "Mumbai"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "ModeFinServer Pvt. Ltd",
            "TotalExperienceInYear": 5.6,
            "CurrentJobProfile": "Software Engineer",
            "FullName": "TULASI VARA PRASAD CHENNAMSETTI",
            "id": "1911281017271127"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Tech Mahindra",
            "TotalExperienceInYear": 5.7,
            "CurrentJobProfile": "Software Engineer",
            "FullName": "SNEHA KEMBHAVI",
            "id": "1911281020291129"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Tata Consultancy Services TCS",
            "TotalExperienceInYear": 4.4,
            "CurrentJobProfile": "Software Engineer",
            "State": "CA",
            "FullName": "ANKUSH GUMBER",
            "Country": "USA",
            "id": "1911281025121112",
            "City": "Los Angeles"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Persistent Systems Limited",
            "TotalExperienceInYear": 3.11,
            "CurrentJobProfile": "Software Engineer",
            "FullName": "Mala Shanbhag",
            "id": "1911281030281128"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Sankhya InfoTech Ltd",
            "TotalExperienceInYear": 5.1,
            "CurrentJobProfile": "Software Engineer",
            "FullName": "Gummadi Durga Prasad",
            "id": "1911281053221122"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "NetApp",
            "TotalExperienceInYear": 5.7,
            "CurrentJobProfile": "Software Engineer",
            "State": "NC",
            "FullName": "Amit Borulkar",
            "Country": "USA",
            "id": "1911281109531153",
            "City": "Morrisville"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "CricbuzzBackend Bangalore",
            "TotalExperienceInYear": 5.8,
            "CurrentJobProfile": "Software Engineer",
            "State": "Karnataka",
            "FullName": "AkshayJha",
            "Country": "India",
            "id": "1911281136421142",
            "City": "Bangalore"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "PeopleStrong",
            "TotalExperienceInYear": 7.4,
            "CurrentJobProfile": "Software Engineer",
            "FullName": "Raghvendra Mishra",
            "id": "191128115000110",
            "City": "Allahabad"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Y3 Technologies",
            "CurrentJobProfile": "Software Engineer",
            "FullName": "Ixwaku Ranjan Sharma",
            "id": "191128115205115",
            "City": "Kanpur"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Orange Business Services",
            "TotalExperienceInYear": 8.3,
            "CurrentJobProfile": "Software Engineer",
            "State": "Rajasthan",
            "FullName": "HEMANT SAIN",
            "Country": "India",
            "id": "191128122206116",
            "City": "Alwar"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Tech Mahindra",
            "TotalExperienceInYear": 2.1,
            "CurrentJobProfile": "Software Engineer",
            "State": "CA",
            "FullName": "ANUSHA BILAKANTI",
            "Country": "USA",
            "id": "1911281235561156",
            "City": "Los Angeles"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Rediff.com",
            "TotalExperienceInYear": 5.0,
            "CurrentJobProfile": "Software Engineer",
            "FullName": "Akshay Hazari",
            "id": "191128125000110"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Intern@HPE Security",
            "TotalExperienceInYear": 3.1,
            "CurrentJobProfile": "Software Engineer",
            "State": "AZ",
            "FullName": "YOGESH PANDEY",
            "Country": "USA",
            "id": "191128010301111",
            "City": "Tempe"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "HSBC Software Development",
            "TotalExperienceInYear": 2.1,
            "CurrentJobProfile": "SOFTWARE ENGINEER",
            "State": "Arizona",
            "FullName": "AAAMIR SSHAIKH",
            "Country": "USA",
            "id": "1911280110581158",
            "City": "Tempe"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Cerner Corporation",
            "TotalExperienceInYear": 7.5,
            "CurrentJobProfile": "Software Engineer",
            "State": "KS",
            "FullName": "Santosh Desani",
            "Country": "U.S.",
            "id": "1911280116291129",
            "City": "Overland Park"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Yashitechnologies",
            "TotalExperienceInYear": 4.7,
            "CurrentJobProfile": "Software Engineer",
            "FullName": "KUSUMA DEVI NAIDU",
            "id": "1911280222341134"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Atos Origin Ltd",
            "TotalExperienceInYear": 15.2,
            "CurrentJobProfile": "Software Engineer",
            "State": "Maharashtra",
            "FullName": "Aashish Sinha",
            "Country": "India",
            "id": "1911280234101110",
            "City": "Mumbai"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "SAP LABS INDIA",
            "TotalExperienceInYear": 5.5,
            "CurrentJobProfile": "Software Engineer",
            "State": "Karnataka",
            "FullName": "MOHAMMED ASHRAF",
            "Country": "India",
            "id": "1911280239331133",
            "City": "Bangalore"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "The Ladders Inc",
            "TotalExperienceInYear": 10.9,
            "CurrentJobProfile": "Software Engineer",
            "FullName": "ANITHA SUBRAMANIAN",
            "id": "1911280244301130"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "TESCO Bengaluru",
            "TotalExperienceInYear": 1.2,
            "CurrentJobProfile": "Software Engineer",
            "State": "Karnataka",
            "FullName": "Dhananjay R B",
            "Country": "India",
            "id": "1911280254151115",
            "City": "Bangalore"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "HCL",
            "TotalExperienceInYear": 6.6,
            "CurrentJobProfile": "Software engineer",
            "FullName": "CHANTI K",
            "id": "1911280257191119"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "Liftoff LLC",
            "TotalExperienceInYear": 5.9,
            "CurrentJobProfile": "Software Engineer",
            "FullName": "HARSHA SAGAR K M",
            "id": "1911280607191119"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "PayU Payments Private Ltd",
            "TotalExperienceInYear": 6.6,
            "CurrentJobProfile": "Software Engineer",
            "FullName": "Ankit Rustagi",
            "id": "1911280657161116",
            "City": "Ghaziabad"
        },
        {
            "score": 75.0,
            "CurrentEmployer": "FUSION INFORMATICS TECHNOLOGY PVT LTD",
            "TotalExperienceInYear": 10.7,
            "CurrentJobProfile": "SOFTWARE ENGINEER",
            "State": "Gujarat",
            "FullName": "Majidkhan Imtiyazkhan Pathan",
            "Country": "India",
            "id": "1911280725501150",
            "City": "Ahmedabad"
        }
    ]
}

4. Match

You will find Resumes/Job Descriptions matching your input documents. There are four types of matching cases as follows:

  • Resume to Resume: Get resumes from the index which matches the input resume.
  • Resume to JD: Get Job Descriptions from the index which matches the input resume.
  • JD to JD: Get Job Descriptions from the index which matches the input Job Descriptions.
  • JD To Resume: Get resumes from the index which matches with input Job Descriptions.

To execute matching of your documents (Resumes and JDs), you require the following:

Method Name: match

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/match

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexType String Required Name of the file type to be indexed.
indexKey String Required Use your user key as shared by RChilli team.
subUserId String Optional Your user's unique id.
docType String Required Name Of Index type Resume/JD
JSONData String Required Rchilli Parser JSON output data in base64
explainScore boolean optional Default is false. If set true turn details about how a document is searched. For more details click here
explainScoreType String optional Default is text. Can be set as JSON and work if ExplainScore is true. For more details click here
pageStart boolean optional Start index of record to return. It Can be used for paging when multiple records are found in search. The Default is 0. For more details click here
pageSize boolean optional Number of records return in one API call, default is 50. For more details click here
excludeDocumentIds Array optional Document Ids which you don't want to consider in search.
sorting Object optional for more details on sorting click here

JSON Request for Match

Click for more details
{
  "index": {
    "indexType": "Resume/JD",
    "indexKey": "Your user key"
  },
	"match": {
		"docType": "Resume/JD",
		"jsonData": "RChilli Resume/JD output in Base64"
 }

         

JSON Response for Match

Click for more details
{
    "count": 580,
    "pageStart": 0,
    "pageSize": 10,
    "records": [
        {
            "score": 100.0,
            "CurrentEmployer": "Henry Ford Hospital",
            "TotalExperienceInYear": 11.6,
            "CurrentJobProfile": "Cardiologist",
            "State": "IL",
            "FullName": "John Deo",
            "Country": "USA",
            "id": "unique subuser id",
            "City": "Chicago"
        },
        {
            "score": 100.0,
            "CurrentEmployer": "Henry Ford Hospital",
            "TotalExperienceInYear": 11.6,
            "CurrentJobProfile": "Cardiologist",
            "State": "IL",
            "FullName": "John Deo",
            "Country": "USA",
            "id": "unique subuser id",
            "City": "Chicago"
        },
        {
            "score": 22.09,
            "CurrentEmployer": "ILLINOIS STATE UNIVERSITY",
            "TotalExperienceInYear": 47.6,
            "CurrentJobProfile": "MOTORCYCLE SAFETY PROGRAM INSTRUCTOR",
            "State": "IL",
            "FullName": "BRUCE M. GRZEGORZEWSKI",
            "Country": "USA",
            "id": "unique subuser id",
            "City": "Chillicothe"
        },
        {
            "score": 20.88,
            "CurrentEmployer": "Navarro Discount Pharmacies",
            "TotalExperienceInYear": 22.1,
            "CurrentJobProfile": "Director of Pharmacy Systems",
            "State": "Florida",
            "FullName": "Meghann Chilcott",
            "Country": "USA",
            "id": "unique subuser id",
            "City": "Sunrise"
        },
        {
            "score": 20.59,
            "CurrentEmployer": "Caterpillar Inc",
            "TotalExperienceInYear": 18.1,
            "CurrentJobProfile": "Engineer",
            "State": "IL",
            "FullName": "YUXIANG GU",
            "Country": "USA",
            "id": "unique subuser id",
            "City": "DUNLAP"
        },
        {
            "score": 18.9,
            "CurrentEmployer": "Hub Group",
            "TotalExperienceInYear": 12.0,
            "CurrentJobProfile": "Oracle Fusion HCM Consultant",
            "State": "IL",
            "FullName": "Karthik Chennuri",
            "Country": "USA",
            "id": "unique subuser id",
            "City": "Oak Brook"
        },
        {
            "score": 18.66,
            "CurrentEmployer": "Navistar International Trucking",
            "TotalExperienceInYear": 26.0,
            "CurrentJobProfile": "Engineering Analyst",
            "State": "MI",
            "FullName": "CHANDRA RACHAKONDA",
            "Country": "USA",
            "id": "unique subuser id",
            "City": "Saline"
        },
        {
            "score": 17.98,
            "CurrentEmployer": "DaimlerChrysler Corporation",
            "TotalExperienceInYear": 23.11,
            "CurrentJobProfile": "Program Management Analyst",
            "State": "MI",
            "FullName": "Beth L. Sommers",
            "Country": "USA",
            "id": "unique subuser id",
            "City": "Goodrich"
        },
        {
            "score": 17.98,
            "TotalExperienceInYear": 18.5,
            "CurrentJobProfile": "Independent Consultant",
            "State": "IL",
            "FullName": "Richard F. Bailey",
            "Country": "USA",
            "id": "unique subuser id",
            "City": "Oak Park"
        },
        {
            "score": 17.849998,
            "CurrentEmployer": "IBM",
            "TotalExperienceInYear": 14.1,
            "CurrentJobProfile": "Staff Software Engineer",
            "State": "CA",
            "FullName": "Paul Ellsworth",
            "Country": "USA",
            "id": "unique subuser id",
            "City": "Morgan Hill"
        }
    ]
}
         

5. Match With Id

You will find Resumes/Job (With Ids) Descriptions matching your input documents. There are four types of matching cases as follows:

  • Resume to Resume: Get resumes from the index which matches the input resume.
  • Resume to JD: Get Job Descriptions from the index which matches the input resume.
  • JD to JD: Get Job Descriptions from the index which matches the input Job Descriptions.
  • JD To Resume: Get resumes from the index which matches with input Job Descriptions.

To execute matching of your documents (Resumes and JDs), you require the following:

Method Name: matchWithId

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/matchWithId

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexType String Required Name of the file type to be indexed.
indexKey String Required Use your user key as shared by RChilli team.
subUserId String Optional Your user's unique id.
docType String Required Name Of Index type Resume/JD
JSONData String Required Rchilli Parser JSON output data in base64
explainScore boolean optional Default is false. If set true turn details about how a document is searched. For more details click here
explainScoreType String optional Default is text. Can be set as JSON and work if ExplainScore is true. For more details click here
pageStart boolean optional Start index of record to return. It Can be used for paging when multiple records are found in search. The Default is 0. For more details click here
pageSize boolean optional Number of records return in one API call, default is 50. For more details click here
sorting Object optional for more details on sorting click here

JSON Request for Match With Id

Click for more details
{
  "index": {
    "indexType": "Resume/JD",
    "indexKey": "Your user key"
  },
	"match": {
		"docType": "Resume/JD",
		"jsonData": "RChilli Resume/JD output in Base64",
		"matchId":["id1", "id2"]
 }

         

JSON Response for Match With Id

Click for more details
{
    "count": 580,
    "pageStart": 0,
    "pageSize": 10,
    "records": [
        {
            "score": 100.0,
            "CurrentEmployer": "Henry Ford Hospital",
            "TotalExperienceInYear": 11.6,
            "CurrentJobProfile": "Cardiologist",
            "State": "IL",
            "FullName": "John Deo",
            "Country": "USA",
            "id": "unique subuser id1",
            "City": "Chicago"
        },
        {
            "score": 100.0,
            "CurrentEmployer": "Henry Ford Hospital",
            "TotalExperienceInYear": 11.6,
            "CurrentJobProfile": "Cardiologist",
            "State": "IL",
            "FullName": "John Deo",
            "Country": "USA",
            "id": "unique subuser id2",
            "City": "Chicago"
        }
		]
}
         

6. One To One Match

With this method, you can match candidate CV with JD. If it is matching with each other, you get detailed score of it.

To execute match cv with jd, you require the following:

Method Name: oneMatch

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/oneMatch

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexKey String Required Use your user key as shared by RChilli team.
subUserId String Optional Your user's unique id.
resumeContent String Required Provide resume/cv file content in base64 format
resumeFileName String Required Name of the resume/cv file with the extension.
jdContent String Required Provide jd file content in base64 format
jdFileName String Required Name of the jd file with the extension.
matchType String required Resume to JD / JD to Resume
explainScore boolean optional Default is false. If set true turn details about how a document is searched. For more details click here
explainScoreType String optional Default is text. Can be set as JSON and work if ExplainScore is true. For more details click here

JSON Request for One to One Match

Click for more details
{
	"index": {
		"indexKey": "Your User Key"
	},
	"match": {
		"resumeContent": "Provide resume/cv file content in base64 format",
      	"resumeFileName" : "Name of the resume/cv file with the extension.",
      	"jdContent": "Provide jd file content in base64 format",
      	"jdFileName" : "Name of the jd file with the extension."
    },
	"matchType" : "Resume to JD / JD to Resume",
	"explainScore": true,
  	"explainScoreType": "json"
}

         

JSON Response for One to One Match

Click for more details
{
	"ResumeJSON" : "Resume Parsed Data in JSON Form",
	"JDJSON" : "JD Parsed Data in JSON Form",
	"explainScore": [{
		"explaination": {
			"score": 54.93348,
			"maxScore": 100.0,
			"Match": {
				"score": 54.933481,
				"maxScore": 100.0,
				"detailScore": [{
					"score": 0.0,
					"maxScore": 50.0,
					"entity": "JobProfileTitle",
					"value": "Sr. Business Relations Manager"
				}, {
					"score": 0.0,
					"maxScore": 10.71,
					"entity": "QualificationsPreferred",
					"value": "Bachelors degree"
				}, {
					"score": 0.0,
					"maxScore": 10.71,
					"entity": "QualificationsPreferred",
					"value": "Bachelors degree in business administration"
				}, {
					"score": 0.0,
					"maxScore": 3.97,
					"entity": "RequiredSkillSet",
					"value": "Marketing"
				}, {
					"score": 0.0,
					"maxScore": 3.97,
					"entity": "RequiredSkillSet",
					"value": "Advertising"
				}, {
					"score": 0.0,
					"maxScore": 3.97,
					"entity": "RequiredSkillSet",
					"value": "Communication Skills"
				}, {
					"score": 0.0,
					"maxScore": 0.65,
					"entity": "Domains",
					"value": "Sales And Commercial"
				}, {
					"score": 0.0,
					"maxScore": 0.65,
					"entity": "Domains",
					"value": "Selling And Trading"
				}, {
					"score": 0.0,
					"maxScore": 0.65,
					"entity": "Domains",
					"value": "Sales"
				}, {
					"score": 0.0,
					"maxScore": 0.65,
					"entity": "Domains",
					"value": "Marketing And Communications"
				}, {
					"score": 0.0,
					"maxScore": 0.65,
					"entity": "Domains",
					"value": "Marketing"
				}, {
					"score": 0.0,
					"maxScore": 0.65,
					"entity": "Domains",
					"value": "Administration\/Assistance"
				}, {
					"score": 0.0,
					"maxScore": 0.65,
					"entity": "Domains",
					"value": "Administration And Secretary Services"
				}, {
					"score": 0.0,
					"maxScore": 0.65,
					"entity": "Domains",
					"value": "Mechanical Engineering"
				}, {
					"score": 0.0,
					"maxScore": 0.65,
					"entity": "Domains",
					"value": "Civil Engineering"
				}, {
					"score": 0.0,
					"maxScore": 0.65,
					"entity": "Domains",
					"value": "ICT"
				}, {
					"score": 0.0,
					"maxScore": 0.65,
					"entity": "Domains",
					"value": "Engineering"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Planning"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Tactics"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Implementation and Development"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Public Relations"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Packaging"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Distribution"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Marketing Materials"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Vendors"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Promote"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Communication"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Information Flow"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Development"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Product Promotion"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Presentations"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Business Plans"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Communications"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Business Communications"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Business Administration"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Marketing Communications"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Operating Systems"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Problem Management"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Interpersonal Skills"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Upper Management"
				}, {
					"score": 0.0,
					"maxScore": 0.4,
					"entity": "PerferredSkillSet",
					"value": "Ability to work independently"
				}]
			}
		}
	}]
}
         

7. Match with Multiple Sub-User Ids

You will find Resumes/Job Descriptions matching your input documents and provided sub user ids. There are four types of matching cases as follows:

  • Resume to Resume: Get resumes from the index which matches the input resume.
  • Resume to JD: Get Job Descriptions from the index which matches the input resume.
  • JD to JD: Get Job Descriptions from the index which matches the input Job Descriptions.
  • JD To Resume: Get resumes from the index which matches with input Job Descriptions.

To execute match with multiple sub-user ids, you require the following:

Method Name: matchWithMultipleSubUserIds

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/matchWithMultipleSubUserIds

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexType String Required Name of the file type to be indexed.
indexKey String Required Use your user key as shared by RChilli team.
subUserId Array String Required Your user's unique id.
docType String Required Name Of Index type Resume/JD
JSONData String Required Rchilli Parser JSON output data in base64
explainScore boolean optional Default is false. If set true turn details about how a document is searched. For more details click here
explainScoreType String optional Default is text. Can be set as JSON and work if ExplainScore is true. For more details click here
pageStart boolean optional Start index of record to return. It Can be used for paging when multiple records are found in search. The Default is 0. For more details click here
pageSize boolean optional Number of records return in one API call, default is 50. For more details click here
excludeDocumentIds Array optional Document Ids which you don't want to consider in search.
sorting Object optional for more details on sorting click here

JSON Request for Match With Multiple Sub-User Ids

Click for more details
{
	"index": {
		"indexType": "Resume/JD",
		"indexKey": "Your user key",
      	"subUserId": ["user1"]
	},
	"match": {
		"docType": "Resume/JD",
		"jsonData": "RChilli Resume/JD output in Base64"
	}
}

         

JSON Response for Match With Multiple Sub-User Ids

Click for more details
{
	"count": 1,
	"pageStart": 0,
	"pageSize": 11,
	"records": [{
		"id": "unique id",
		"score": 100.0,
		"JobProfile": "CEO",
		"Degree": ["Post graduation"]
	}],
	"explainScore": [{
		"id": "unique id",
		"explaination": {
			"score": 100.0,
			"maxScore": 100.0,
			"Match": {
				"score": 100.0,
				"maxScore": 100.0,
				"detailScore": [{
					"score": 43.75,
					"maxScore": 43.75,
					"entity": "JobProfileTitle",
					"value": "ceo"
				}, {
					"score": 18.75,
					"maxScore": 18.75,
					"entity": "QualificationsPreferred",
					"value": "\"post graduation\""
				}, {
					"score": 12.5,
					"maxScore": 12.5,
					"entity": "MinimumYearsExperience",
					"value": "[6.0 TO Infinity]"
				}, {
					"score": 10.42,
					"maxScore": 10.42,
					"entity": "RequiredSkillSet",
					"value": "written and verbal communication skills"
				}, {
					"score": 6.25,
					"maxScore": 6.25,
					"entity": "Domains",
					"value": "management"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "timeliness"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "continuous improvement"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "productivity"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "compliance"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "ensure compliance"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "ensuring compliance"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "regulatory guidelines"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "promote"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "openness"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "awareness"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "regulatory"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "risk management"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "risk management framework"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "governance"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "personal responsibility"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "ethics"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "financial markets"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "front office"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "policies and procedures"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "banking operations"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "communication"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "basic accounting"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "ms office"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "people management"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "flexibility"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "foreign exchange"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "money markets"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "derivatives"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "ability to work independently"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "motivated"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "proactive"
				}, {
					"score": 0.26,
					"maxScore": 0.26,
					"entity": "PerferredSkillSet",
					"value": "attention to detail"
				}]
			}
		}
	}]
}
         

8. Check Document Index

You will check whether document is indexed or not with given document id.

To execute check document index, you require the following:

Method Name: checkDocumentIndex

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/checkDocumentIndex

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexKey String Required Use your user key as shared by RChilli team.
indexType String Required Resume/JD
subUserId Array Optional Your user's unique id.
documentId String Required Document Id

JSON Request for Check Document Index

Click for more details
{
	"index": 
	{
		"indexKey": "Your user key",
		"indexType": "Resume/JD",
		"subUserId": "user 1"
    },
    "documentId" : "37"
}

         

JSON Response for Match With Multiple Sub-User Ids

{
	"status":"document is indexed with this provided id (document id) for Index Key - Your User Key, Index Type - Resume"
}
         

9. Get Document Ids

You will get all indexed document ids.

To execute get document ids, you require the following:

Method Name: getDocumentIds

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/getDocumentIds

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexKey String Required Use your user key as shared by RChilli team.
indexType String Required Resume/JD
subUserId String Optional Your user's unique id.
pageSize boolean Optional Number of records return in one api call, detfault is 50.
pageStart boolean Optional Start index of record to return. Can be used for paging when multiple record are found search.Default is 0.

JSON Request for Get Document Ids

Click for more details
{
	"index": {
		"indexKey": "Your user key",
      	"indexType": "Resume/JD",
		"subUserId": "user 1"
    },
    "pageStart":0,
	"pageSize": 10  
}

         

JSON Response for Get Document Ids

{
	"count": 12,
	"pageStart": 0,
	"pageSize": 10,
	"records": [{
		"id": "Document Id 1"
	}, {
		"id": "Document Id 2"
	}, {
		"id": "Document Id 3"
	}, {
		"id": "Document Id 4"
	}, {
		"id": "Document Id 5"
	}]
}
         

10. Get Document Detail

You will get a particular inserted document detail by providing document id.

To execute get document detail, you require the following:

Method Name: getDocumentDetail

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/getDocumentDetail

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexKey String Required Use your user key as shared by RChilli team.
indexType String Required Resume/JD
subUserId String Optional Your user's unique id.
pageSize boolean Optional Number of records return in one api call, detfault is 50.
pageStart boolean Optional Start index of record to return. Can be used for paging when multiple record are found search.Default is 0.

JSON Request for Get Document Detail

Click for more details
{
	"index": {
		"indexKey": "Your user key",
      	"indexType": "Resume/JD"
    },
  "documentId" : "Document Id"
}

         

JSON Response for Get Document Detail

{
	"document": {
		"id": "DocumentId",
		"ResumeLanguage": "English",
		"ResumeCountry": "Pakistan",
		"FullName": "Hafiz M Saleem",
		"FirstName": "Hafiz",
		"MiddleName": "M",
		"LastName": "Saleem",
		"Category": "Information",
		"SubCategory": "Software Developers and Programmers",
		"CurrentJobProfile": "Senior Software Engineer",
		"CurrentEmployer": "Datasmith",
		"TotalExperienceInMonths": 163,
		"TotalExperienceInYear": 13.7,
		"TotalExperienceRange": "GREATER THAN 10 YEAR",
		"City": "Rawalpindi",
		"State": "Punjab",
		"Country": "Pakistan",
		"Institute": ["Muhammad Ali Jinnah University", "Comsats Institute of Information Technology", "H. I.T Dgree College", "H. M.C Boys High School"],
		"Degrees": ["Master", "Bachelor", "Higher Secondary school Certificate", "High School-Matriculation", "Master of Science"],
		"Skill": ["Microsoft Dynamics GP", "Customization", "Developing", "Progressive", "SQL Server", "Asp.net", "PHP"]
	}
}
         

11. Delete

You can delete all indexed files from the database.

API Information:-

Method Name: delete

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/delete

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexType String Required Name of the file type to be indexed.
indexKey String Required Use your user key as shared by RChilli team.
subUserId String Optional Your user's unique id.
id StringArray Required List of ids you want to delete
commit Boolean Optional Default value is false. Check Commit for more details

JSON Request for Delete

{
  "index": {
    "indexType": "Resume",
    "indexKey": "Your user key",
    "subUserId": "Your user's unique id"
  },
  "query": {
    "id": [
      "1911200457461146","1911200524341134"
    ]
  },
  "commit": true
}
         

12. Delete All Documents

You can delete all indexed files from the database.

API Information:-

Method Name: deleteAllDocs

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/deleteAllDocs

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexType String Required Name of the file type to be indexed.
indexKey String Required Use your user key as shared by RChilli team.
subUserId String Optional Your user's unique id.
commit Boolean Optional Default value is false. Check Commit for more details

JSON Request for Delete

{
  "index": {
    "indexType": "Resume",
    "indexKey": "Your user key",
    "subUserId": "Your user's unique id"
  },
  "commit": true
}
         

JSON Response for Delete

{
    "status": "200",
    "indexType": "Resume",
    "output": "indexes deleted successfully"
}        

13. Analyze

Analyze query is an extension of the simple search. It analyzes the search string and brings out all search keywords separately for a more refined result of your query in a simple search.

API Information:

Method Name: analyze

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/analyze

Method Type: POST

Content Type: application/json

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexType String Required Name of the file type to be indexed.
indexKey String Required Use your user key as shared by RChilli team.
keyword String Required Text query contains entities like job profile, skill, location or organization, etc.

JSON Request For Analyze

{
    "index": {
        "indexType": "Resume",
        "indexKey": "Your user key"
    },
    "query": {
        "keyword": "Project Manager with 15 year experince and have B.Tech from Pune worked Wipro having knowledge of Java"
    }

}
         

JSON Response for Analyze

[
    {
        "start": 0,
        "end": 15,
        "entity": "Project Manager",
        "type": "JobTitle",
        "weight": 36.84
    },
    {
        "start": 72,
        "end": 77,
        "entity": "Wipro",
        "type": "Organization",
        "weight": 15.79
    },
    {
        "start": 48,
        "end": 54,
        "entity": "B.tech",
        "type": "Degree",
        "weight": 15.79
    },
    {
        "start": 98,
        "end": 102,
        "entity": "Java",
        "type": "Skill",
        "weight": 7.89
    },
    {
        "start": 107,
        "end": 110,
        "entity": "Php",
        "type": "Skill",
        "weight": 7.89
    },
    {
        "start": 60,
        "end": 64,
        "entity": "Pune",
        "type": "City",
        "weight": 5.26
    },
    {
        "start": 20,
        "end": 29,
        "entity": " 15 Year ",
        "type": "ExperienceLevel",
        "weight": 10.53
    }
]

         


14. Index Count

Index Count method returns the number of documents indexed for an Index key.

API Information:

Method Name: indexCount

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/indexCount

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexKey String Required Use your user key as shared by RChilli team.
subUserId String Optional Unique subUserId. if it is passed in the request will return total count for that subuserIDonly.

JSON Request for Index Count

{
    "index": {
        "indexKey": "your user key",
        "subUserId": "your user's unique id"
    }
}
         

JSON Response for Index Count

{
    "totalCount": 2,
    "count": {
        "Jd": 1,
        "Resume": 1
    }
}

         

15. Suggestions

As you start searching, we provide you suggestions for different search fields like JobProfile, Skill, and Degree.

Method Name: suggestions

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/suggestions

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexType String Required Name of the file type to be indexed.
indexKey String Required Use your user key as shared by RChilli team.
keyword String Required Mention the keyword.
fieldType String Required Mention the fieldType like JobProfile/Skill
limit String Required Mention the limit of No. of values to be returned.

JSON Request for Suggestion

{
    "index": {
        "indexType": "Resume",
        "indexKey": "Your user key"
    },
    "keyword": "soft",
    "fieldType": "jobprofile",
    "limit": 25
}
         

JSON Response for Suggestion

[{
    "Suggestions": [
        "Software Consultant",
        "Software Designer",
        "Software Developer",
        "Software Developer Intern",
        "Software Engineer",
        "Software Engineer/developer",
        "Software Engineer Financial Billing Upload",
        "Software Engineer In Equities Estimates",
        "Software Programmer",
        "Software Programmer/analyst",
        "Software Support Engineer",
    ]
}]
         

17. Spell Checking

If you give any wrong input while searching, it will be checked and corrected.

Method Name: spellCheck

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/spellCheck

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexType String Required Name of the file type to be indexed.
indexKey String Required Use your user key as shared by RChilli team.
keyword String Required Mention the keyword.
fieldType String Required Mention the fieldType like JobProfile/Skill

JSON Request for Spell Checking

{
    "index": {
        "indexType": "Resume",
        "indexKey": "Your API key"
    },
    "keyword": "projct Manager"
    "fieldType": "jobprofile"
}
         

JSON Response for Spell Checking

[
    {
        "SearchWord": "projct manager",
        "Suggestions": [
            "project manager",
            "product manager"
        ]
    }
]

         

18. Get Sub User Ids List

If you want to get list of all your sub user ids. You can do this by this method.

Method Name: getSubUserIds

API URL: https://searchengine.rchilli.com/RChilliSearchEngineAPI/RChilli/getSubUserIds

Method Type: POST

Content Type: application/JSON

Response Type: JSON

Request parameters are described below:

Name Type IsRequired Description
indexKey String Required Use your user key as shared by RChilli team.

JSON Request for Get Sub User Ids List

Click for more details
{
    "indexKey": "Your user key"
}
         

JSON Response for Get Sub User Ids List

{
"SubUserId":
	[
		"Sub User 1", "Sub User 1"
	]
}

         

Features


1. Geographical Search

You can find a candidate near you through geographical search in simple and advance search methods.

You can search using Geocodes/City, State, Country or you can select a distance range.
You can select different parameters for measuring the distance range like KM and mile.

You will have the geographical search result in Simple Search and Boolean Search both. both.

Request parameters are described below:

Name Type IsRequired Description
Option 1
city String Required Name of city
state String Optional Name of state related to city
country String Optional Name of Country related to state
Option 2
longitude String Required Name of city
latitude String Required Name of state related to city
radius int Optional Default value is 50.
distanceUnit String Optional Default is KM(Kilomete). Possible values are KM and mile

JSON Request in Geo Search for with location (Option 1)

"geoSearch": {
    "city": "Pune",
    "state": "Maharastra",
    "country": "India",
    "radius": 50,
    "distanceUnit": "mile"
  }

JSON Request in Geo Search for with location (Option 2)

"geoSearch": {
    "city": "Pune",
    "state": "Maharastra",
    "country": "India",
    "radius": 50,
    "distanceUnit": "mile"
  }

2. Facets

Facet is a list of values with the count of documents in which these values are found. They are displayed on the left side of the page while searching and can be applied on both Simple Search and Boolean Search both.

You will have the result as follows:

  • Fields: You can have an array (ordered series) of fields as a result of facets.
  • Limit: No. of values returns in a facet is 10 by default.

JSON Request for Facets

"facet": {
    "fields": [
        "JobProfile",
        "Employer",
        "Institute"
    ],
    "limit": 10
}
        

JSON Response for Facets

Along with Simple/Boolean search result, you can find facets result as:

"facet": {
    "JobProfile": [{
                "value": "Software Engineer",
                "count": 22
            }

         

Here is the list of facets fields available for Resume and JD.

Resume Facets

CurrentJobProfile
PreviousJobProfile
CurrentEmployer
PreviousJobProfile
Degree
Institute
Skill
TotalExperienceRange
City
State
Country

JD Facets

JobProfile
Employer
Degree
Skill
TotalExp
City
State
Country


3. Filter

You can filter your results by selecting further fields shown in facets.

This filter option is available in both Simple Search and Boolean Search both.

JSON Request for Filter

"fitler": {
    "JobProfile": ["associate", "project manager"],
    "Degree": ["b.tech"]
}
         

JSON Response for Filter

{
    "count": 10,
    "pageStart": 0,
    "pageSize": 10,
    "records": [
        {
            "score": 100,
            "id": "1911210453421234", 

        }
  ]
}
         

Note: We can also apply filter on our custom values that we index into search engine.

"fitler": {
    "JobProfile": ["associate", "project manager"],
	"CV_customField1": ["value1", "value2"],
    "CVA_customField2": ["value"]
}
         

4. Sorting

You can sort your results by selecting further fields shown in sorting.

This sorting option is available in Simple Search, Boolean Search, and Match.

JSON Request for Sorting

Following fields can be used for sorting,

Resume Fields: score, ResumeLanguage, ResumeCountry, DateOfBirth, Category, SubCategory, CurrentJobProfile, CurrentEmployer, TotalExperienceInMonths, TotalExperienceInYear, TotalExperienceRange, City, State, Country, ZipCode, ResumeDate

JD Fields: score, JobProfileTitle, JobLocationCity, JobLocationState, MinimumYearsExperience, Organization, MinimumYearsExperience, MaximumYearsExperience, SalaryMinAmount, SalaryMaxAmount, TotalExperienceRange, ResumeDate

The sort parameter arranges search results in either ascending (asc) or descending (desc) order

When more than one sort criteria is provided, the second entry will only be used if the first entry results in a tie. If there is a third entry, it will only be used if the first AND second entries are tied. This pattern continues with further entries.

"sorting":[
      {
        "field" : "Field Name 1",
        "order" : "asc/desc"
      }
	  {
        "field" : "Field Name 2",
        "order" : "asc/desc"
      }
]
         

5. Ignore/Exclude Filter

You can filter your results by ignoring further field values. This feature can be used by simply adding '-' (minus symbol) in front of the field whose value you want to ignore.

This ignoring filter option is available in both Simple Search and Boolean Search.

JSON Request for Filter

"fitler": {
    "-JobProfile": ["project manager"],
    "-Degree": ["MBA"]
}
         

JSON Response for Filter

{
    "count": 10,
    "pageStart": 0,
    "pageSize": 10,
    "records": [
        {
            "score": 100,
            "id": "1911210453421234", 

        }
  ]
}
         

6. Pagination

Pagination helps you to fetch data in batches call as a page. It has page size which means you can customize the no. of records you want to fetch in one API call. You can also customize the page number like from where the record should start returning. It is helpful when your search/match query finds a large number of documents.

Request parameters are described below:

Name Type IsRequired Description
pageStart String Optional Default is 0. Start index of record to return.
pageSize Boolean Optional Default is 50. Number of records return in one api call.

JSON request for Pagination

 "pageSize": 10,
 "pageStart": 0,

JSON Response for Pagination

{
    "count": 87,
    "pageStart": 20,
    "pageSize": 10,
    "records":["data"] 
}        

7. Explain Score

You will get a detailed score of search fields matched with the result.

You will get two types of detailed score explanation.

Request parameters are described below:

Name Type IsRequired Description
explainScore Boolean Optional Default is false. if set true turn details about how document is searched.
explainScoreType String Optional Default is text. Can be set as JSON and work if ExplainScore is true.

Request for exlainScore

"explainScore": true,
"explainScoreType":"json",
         

Response for ExplainScoreType as text

[{
    "id": "1911260416391139",
    "explaination": "82.39 = sum of:\n    78.18 = sum of:\n      36.84 = CurrentJobProfile:developer\n      36.84 = JobProfile:developer\n      0.48 = Skill:c#\n      0.48 = Skill:vb.net\n      0.48 = Skill:jquery\n      0.48 = Skill:influential\n      0.48 = Skill:network\n      0.48 = Skill:communication\n      0.48 = Skill:design\n      0.38 = Skill:sql server\n      0.38 = Skill:creativity\n      0.38 = Skill:engagement\n    4.21 = sum of:\n      4.21 = ([Degree:btech, ([Degree:bachelor of techology]) btec, ([Degree:bachelor of engineering]) b.e, ([Degree:bachelor of technology]) b.tech])\n"
}]
         


Response for ExplainScoreType as JSON

"explainationType":"json"
    "explaination": {
                "score": 85.88,
                "maxScore": 100.0,
                "Search": {
                    "score": 85.88,
                    "maxScore": 100.0,
                    "ExplainScore": [
                        {
                            "score": 32.94,
                            "maxScore": 41.18,
                            "entity": "JobProfile",
                            "value": "software developer"
                        },
                        {
                            "score": 41.18,
                            "maxScore": 41.18,
                            "entity": "CurrentJobProfile",
                            "value": "software developer"
                        },
                        {
                            "score": 0.0,
                            "maxScore": 17.65,
                            "entity": "Degree",
                            "value": "B.tech."
                        },
                        {
                            "score": 11.76,
                            "maxScore": 11.76,
                            "entity": "TotalExperienceInYear",
                            "value": "[5.0 TO Infinity]"
                        },
                        {
                            "score": 0.0,
                            "maxScore": 5.88,
                            "entity": "Skill",
                            "value": "Java"
                        },
                        {
                            "score": 0.0,
                            "maxScore": 5.88,
                            "entity": "Skill",
                            "value": "Php"
                        },
                        {
                            "score": 0.0,
                            "maxScore": 5.88,
                            "entity": "Skill",
                            "value": "Computer Science"
                        },
                        {
                            "score": 0.0,
                            "maxScore": 5.88,
                            "entity": "City",
                            "value": "Pune"
                        },
                        {
                            "score": 0.0,
                            "maxScore": 5.88,
                            "entity": "Country",
                            "value": "India"
                        }
                    ]
                }
            }
        },

         



8. Custom Weightage/Scoring

We have defined weightage of fields for search and match which can be customized as per your requirement. Please contact us if you find scoring weightage needs to change.



9. Commit

The document must be committed to making them available for searching or matching. Commit ensures that the document is indexed or removed. Commit can be used in index, parseAndIndex and delete methods.

We have 2 types of commit.

AutoCommit: By default, the commit is set to false, which means that it is the auto-commit mode. The document will be committed to the search engine in the backend. It may take generally 15-45 sec to reflect in search or match. And it is recommended to use this for fast indexing and delete indexes.

ForceCommit: ForceCommit: Need to set commit as true in the request. This ensures the immediate effect of indexing or deletes an index in search and match. If you are using the deDuplication feature then it is recommended to use it. But it will take a longer time to index a document or delete index.

"commit":true

10. De Duplication

Deduplication helps to avoid indexing duplicate records in search engine. Deduplication is an optional field that you can choose in:

  • Index method
  • Parse and Index method

In Deduplication, you need to set checkDuplicate = true, only then duplicate records will be checked. You can set delicacy checks on field level as well as on output level.

By Default if it is on output level, If no fields are set, then the same output is generated for any record is considered as a duplicate record.

You can check the output with the help of md5 checksum has code. The other way is to set the fields or the combination of fields to avoid duplicate records. The other way is to set field or combination of fields to avoid duplicates records. You can set the updated parameter to true to update the records in the existing id. By default, it is false, means the duplicate records will not be updated and will keep the old value.

Name Type IsRequired Description
Deduplication Object Optional
checkDuplicate Boolean Required True/false
update Boolean Optional Default false means if duplicate records exist, then the new entry will be ignored. If it is set as true, then the old record will be updated with new data, but it will remain the same.
Fields String Array Optional If it is not set then deduplication will check on output checksum hash code and a list of fields can be set as the combination for deduplication.

"deDuplication":
    {
      "checkDuplicate":true,
      "fields":["Email","FullName"],
      "update":true
    }
        

11. Partial Match

Partial Match helps to partially search documents based on search keyword e.g. We are searching Senior Business Consultant keyword. Search engine returns documents that contain job profile Senior Business Consultant, Senior Consult, Senior Consultant, Consultant, Business Consultant. And search engine returns documents with its matching score based on the search keyword matching partially with Job Profile. Partial Match is an optional field that you can choose in:

  • Simple Search method

In Partial Match, you need to set partialMatch = true, only then partial match records will be returned. Partial Match works only on Job Profile.

Name Type IsRequired Description
partialMatch Boolean Required true/false

{
  "index": {
    "indexType": "Resume/JD",
    "indexKey": "Your user key",
    "subUserId": "Your user's unique id"
  },
  "query": {
    "keyword": "Senior Business Consultant"
  },
  "partialMatch": true
}
        

12. Custom Value

Custom Value helps to index documents with your custom values. We can also search based on these custom values in the search engine. Custom value is an optional field that you can choose in:

  • Parse and Index
  • Simple Search
  • Boolean Search method

To make search on custom value, indexing of documents with custom value must be indexed into the search engine.

This custom value option is available in Parse and Index, Simple Search and Boolean Search.

Parse and Index: To index documents into the search engine with custom value as following,

"customValue":
{
  "customField1" : "Value 1",
  "customField2" : ["Value 2"],
  "customField3" : [{"docField1" : "doc field value 1", "docField2" : ["value 1", "value 2"]}]
}

         

Simple Search: To search documents into the search engine with custom value as following,

"customValue":
{
  "customField1" : "Value 1",
  "customField2" : ["Value 2"],
  "customField3" : [{"docField1" : "doc field value 1", "docField2" : ["value 1", "value 2"]}]
}

         

Boolean Search: To search documents into the search engine with custom value as following,

"query": 
{
  "required": 
  {
    "CV_customField1": ["Value 1"],
    "CVA_customField2": ["Value 2"]
  },
  "optional": 
  {
	"CVA_customField3": ["Value 3"]
  }
}

         

Languages We Support


  • English
  • Spanish
  • German
  • French
  • Polish
  • Italian

Request


A. Index Request

A complete request for indexing may contain, indexing parameters, commit option and deduplication parameters. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request for Resume.

Click to Download sample request for JD.

B. Parse and Index Request

Parse and Index request is similar to Index request. A complete request for indexing may contain, indexing parameters, commit option and deduplication parameters. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request for Resume.

Click to Download sample request for JD.

C. Simple Search

A complete request for Simple Search may contain, Simple Search parameters, geo search parameters, facets, filters, pagination and explain score. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request.

D. Boolean Search

A complete request for Boolean Search may contain, Boolean Search parameters, geo search parameters, facets, filters, pagination and explain score. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request.

E. Match

A complete request for Match Search may contain, Match parameters, pagination and explain score. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request.

F. Match With Id

A complete request for Match With Id Search may contain, Match parameters, pagination and explain score. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request.

G. One to One Match

A complete request for One to One Match Search may contain, Match parameters, pagination and explain score. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request.

H. Match With Multiple Sub-User Ids

A complete request for Match With Multiple Sub User Ids may contain, Match parameters, pagination and explain score. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request.

I. Check Document Index

A complete request for Check Document Index may contain, pagination and explain score. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request.

J. Get Document Ids

A complete request for Get Document Ids may contain, pagination and explain score. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request.

K. Get Document Detail

A complete request for Get Document Detail may contain, pagination and explain score. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request.

L. Get Sub-User Ids List

A complete request for Get Sub-User Ids List may contain, pagination and explain score. Optional parameters can be ignored as per requirement and business logic.

Click to Download sample request.

Response


A. Index method and Parse and Index method Response

Index method and Parse and Index method Response is similar

Name Type Description
status String Status as 200 means request has been successfully processed. Any other status means error an occurred
indexType String Resume/JD as per request which document is sent to the index
subUserId String If sub-user IDis set in request same will be returning in this to identify unique sub-users.
action String Values as:
indexed: if document indexed with new id
indexUpdated: if document indexed with existing id
updated: if document indexed with deduplication setting to update if document exists
ignored: if a document is indexed where deduplication check finds that such document already exists, then the new document will not be indexed and will be ignored.
id String IDon which document is indexed or updated
doc String RChilli Parser Output for Resume/JD. Note for Resume V8 output will be returned, and for JD V3 output will be returned

Click to Download sample response for Resume.

Click to Download sample response for JD.

B. Search And Match Response

Response for Simple Search, Boolean search and Match is similar except that match doesnot have facets.

Name Type Description
count int Number of docuement found
pageStart int record index to start return.
pageSize int number of records return in one api call.
records JsonArray List of records
score int the matching score to the searched query/matched document
id String IDof the document with which it is indexed
fieldname String fields corresponding to request and resume/jd
facet Object facet response details can be found here
explaination object explainScore response details can be found here

Click to Download sample response

Useful Tip:

All of the URL links mentioned in every API method are case sensitive.


If you have any comments or feedback on our documentation, please send them to us at: support@rchilli.com