Method for searching resumes based on es database and apparatus therefor
By converting resume data from an SQL database to an ElasticSearch database and using a rule engine to generate rule expressions, the problem of low query efficiency in traditional databases is solved, enabling efficient and flexible resume data filtering and querying.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-24
- Publication Date
- 2026-04-14
AI Technical Summary
Traditional relational databases are inefficient when querying enterprise-level resume data, especially when performing multi-dimensional queries, which require complex SQL statements and reduce query efficiency.
The resume data is converted from an SQL database to an ElasticSearch database, and rule expressions are generated using a rule engine. These expressions are then matched and calculated based on the recruitment criteria to filter out candidate resumes that meet the requirements.
It improves the efficiency and accuracy of resume data retrieval, allows for flexible customization of candidate rules to adapt to the needs of different business scenarios, and has high scalability and real-time performance.
Smart Images

Figure CN118626704B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of computers and the Internet, and in particular to a method and apparatus for searching resumes based on an ES database. Background Technology
[0002] With the development of information technology, the data storage volume of enterprise application systems has exploded. Databases have also evolved from traditional relational databases to "NoSQL" databases to support the querying and storage of massive amounts of data. Elasticsearch, as a search engine, is also commonly used as a "NoSQL" database to store data. To meet the needs of enterprises to query resumes based on custom dimensions, using structured databases requires constructing complex SQL statements, and as the number of query dimensions increases, query efficiency decreases. Summary of the Invention
[0003] The purpose of this application is to provide a method and apparatus for searching resumes based on the ES database.
[0004] This application provides a method for searching resumes based on an ES database, comprising: obtaining a first type of resume data of applicants; wherein the first type of resume data of applicants is stored in an SQL database; converting the first type of resume data of applicants into a second type of resume data; wherein the second type of resume data is stored in an ES database; creating candidate rules based on recruitment conditions input by recruiters; generating corresponding rule expressions based on the created candidate rules; matching and calculating the second type of resume data using the rule expressions to obtain candidate resume data that meets the recruitment conditions input by recruiters; receiving input query conditions and searching the candidate resume data to obtain a list of target resume data that matches the query conditions.
[0005] Furthermore, the step of creating candidate rules based on the recruitment conditions input by the recruiter includes: creating tag rules; wherein the tag rules are used to match and calculate the second type of resume data based on the first type of recruitment conditions input by the recruiter to obtain tag information for the second type of resume data; and / or creating scoring rules; wherein the scoring rules are used to match and calculate the second type of resume data based on the second type of recruitment conditions input by the recruiter to obtain scoring information for the second type of resume data; wherein the scoring rules include parameters for setting tag information.
[0006] Furthermore, the step of creating candidate rules based on the recruitment conditions input by the recruiter also includes: creating flow rules; wherein, the flow rules are used to match and calculate the second type of resume data based on the third type of recruitment conditions input by the recruiter, so as to obtain the flow stage information of the second type of resume data; wherein, the flow rules include parameters for setting tag information, scoring information and / or flow stages.
[0007] Further, the step of matching and calculating the second type of resume data using rule expressions to obtain candidate resume data that meets the recruitment conditions input by the recruiter includes: matching and calculating the resume fields in the second type of resume data using a first rule expression to determine whether one or more basic information of applicants in the current second type of resume data meets the first type of recruitment conditions input by the recruiter; if one or more basic information of applicants in the current second type of resume data meets the first type of recruitment conditions input by the recruiter, then tagging the current second type of resume data to obtain resume data with tag information; wherein, the first rule expression is a rule expression generated based on tagging rules; and / or, matching and calculating the resume fields in the second type of resume data using a second rule expression to determine whether one or more basic information of applicants in the current second type of resume data meets the second type of recruitment conditions input by the recruiter; if one or more basic information of applicants in the current second type of resume data meets the second type of recruitment conditions input by the recruiter, then scoring the current second type of resume data to obtain second type of resume data with scoring information; wherein, the second rule expression is a rule expression generated based on scoring rules.
[0008] Furthermore, the step of matching and calculating the second type of resume data using rule expressions to obtain candidate resume data that meets the recruitment conditions input by the recruiter also includes: matching and calculating the resume fields in the second type of resume data using a third rule expression, and determining whether the configuration parameters of one or more resume information in the current second type of resume data meet the third type of recruitment conditions input by the recruiter; if the configuration parameters of one or more resume information in the current second type of resume data meet the third type of recruitment conditions input by the recruiter, then the current second type of resume data is filtered and passed to obtain candidate resume data that meets the third type of recruitment conditions input by the recruiter; wherein, the third rule expression is a rule expression generated according to the flow rules; the configuration parameters of the resume information include at least one of the following: the applicant's basic information, tag information, and rating information.
[0009] Furthermore, after matching and calculating the second type of resume data using rule expressions to obtain candidate resume data, the method further includes: grouping the candidate resume data according to different stages of the process to obtain multiple groups of candidate resume data; wherein, the multiple groups of candidate resume data are candidate resume data corresponding to each stage of the screening stage, written test stage, interview stage, pre-hiring stage, and prospective employee stage; sorting each group of candidate resume data under each stage of the process according to whether it has tag information and / or rating information; wherein, candidate resume data with tag information is given priority over candidate resume data without tag information; and / or, the candidate resume data is sorted according to the score in the rating information.
[0010] Furthermore, the step of converting the applicant's first type of resume data into second type of resume data includes: converting the applicant's first type of resume data into second type of resume data according to the corresponding fields; when the applicant updates the first type of resume data, using the xxl-job framework to set up a timed update task, scanning the updated fields in the first type of resume data at preset time intervals; setting the update time of the currently updated field as the base time, calculating the time interval between the current time and the base time, and if the calculated time interval is greater than the preset time period, then determining the currently updated field as the field to be converted; dividing the field to be converted into multiple data packets, and starting a calculation thread for each data packet to obtain the second type of resume data.
[0011] This application provides an apparatus for searching resumes based on an ES database, comprising: an acquisition module for acquiring first-type resume data of applicants, wherein the first-type resume data of applicants is stored in an SQL database; a generation module for generating second-type resume data based on the first-type resume data of applicants, wherein the second-type resume data is stored in an ES database; a creation module for creating candidate rules based on recruitment conditions input by a recruiter; a rule module for generating corresponding rule expressions based on the created candidate rules; a calculation module for matching and calculating the second-type resume data using the rule expressions to obtain candidate resume data that meets the recruitment conditions input by the recruiter; and a search module for receiving input query conditions and searching the candidate resume data to obtain a list of target resume data that matches the query conditions.
[0012] This application provides an electronic device, which includes a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, it implements the steps of the method described above.
[0013] This application provides a computer-readable storage medium storing computer program instructions, which, when executed by a processor, implement the steps of the method described above.
[0014] This application provides a computer program product, which includes computer program instructions that, when executed by a processor, implement the steps of the method described above.
[0015] The above-mentioned technical solution of this application has the following beneficial technical effects:
[0016] In this embodiment, a corresponding rule expression is generated through a rule engine based on the created candidate rules. The rule expression is then used to match and calculate the second type of resume data to obtain candidate resume data that meets the recruitment conditions input by the recruiter. This makes searching within the candidate resume data more targeted, avoiding recruiters directly searching through massive resume databases. Furthermore, candidate rules can be flexibly customized and adjusted according to the recruiter's business needs to filter applicant resume data, adapting to different business scenarios and changing requirements, thus improving the system's flexibility and adaptability. Since resume information is queried from the ES database, it offers advantages such as improved efficiency and accuracy, flexible customization, high scalability, real-time performance, and immediate feedback. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings of the embodiments of this application will be briefly described below.
[0018] Figure 1 This is a schematic diagram of the system architecture of an embodiment of this application.
[0019] Figure 2 This is a flowchart of a method for searching resumes based on an ES database according to an embodiment of this application.
[0020] Figure 3 This is a structural block diagram of an apparatus for searching resumes based on an ES database according to an embodiment of this application.
[0021] Figure 4 This is a schematic diagram of an electronic device used to implement a method for searching resumes based on an ES database according to an embodiment of this application. Detailed Implementation
[0022] The principles and spirit of this application will be described below with reference to several exemplary embodiments. It should be understood that these embodiments are provided to make the principles and spirit of this application clearer and more thorough, enabling those skilled in the art to better understand and implement the principles and spirit of this application. The exemplary embodiments provided herein are only a part of the embodiments of this application, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments described herein without inventive effort are within the scope of protection of this application.
[0023] The embodiments of this application relate to terminal devices and / or servers. Those skilled in the art will understand that the embodiments of this application can be implemented as a system, apparatus, device, method, computer-readable storage medium, or computer program product. Therefore, this disclosure can be specifically implemented in at least one of the following forms: entirely hardware, entirely software, or a combination of hardware and software. According to embodiments of this application, this application claims protection for a method, apparatus, electronic device, computer-readable storage medium, and computer program product for searching resumes based on an ES database. Figure 1 A schematic diagram of a system architecture according to an embodiment of this application is shown. For example... Figure 1 As shown, the system includes a terminal device 102 and a server 104. The terminal device 102 can include at least one of the following: a smartphone, tablet, laptop, desktop computer, smart TV, various wearable devices, augmented reality (AR) devices, virtual reality (VR) devices, etc. A client can be installed on the terminal device 102. For example, the client can be a client specifically designed to perform a particular function (such as an application app), or a client with multiple embedded application applets (with different functions), or a client logged in via a browser. Users can operate on the terminal device 102. For example, a user can open the client installed on the terminal device 102 and input commands through the client, or a user can open the browser installed on the terminal device 102 and input commands through the browser. After receiving the user's input command, the terminal device 102 sends a request message containing the command to the server 104. After receiving the request message, the server 104 performs the corresponding processing and then returns the processing result information to the terminal device 102. The user command is completed through a series of data processing and information interaction.
[0024] In this document, terms such as first, second, and third are used only to distinguish one entity (or operation) from another, and are not intended to require or imply any order or relationship between these entities (or operations).
[0025] The following is a brief description of the concepts and technical terms that may be involved in the embodiments of this application.
[0026] SQL Server databases are traditional structured databases. For example, an SQL Server database can contain a resume table and a mapping table. The resume table contains multiple columns, each of which can be represented using a common wide table field. The mapping table is used to represent the actual meaning of each column in the resume table. The resume table can include fixed fields and non-fixed fields.
[0027] Elasticsearch (ES) is an open-source, Lucene-based search server that provides a distributed, multi-user, full-text search engine. In the big data industry, Elasticsearch's distributed retrieval capabilities facilitate multi-dimensional data presentation, analysis, and prediction, thus enhancing the value of data.
[0028] Figure 2 The illustration shows a flowchart of a method for searching resumes based on an ES database according to an embodiment of this application. The method includes the following specific steps:
[0029] S110: Retrieve the applicant's first type of resume data; wherein, the applicant's first type of resume data is stored in an SQL database.
[0030] Specifically, applicants can input their basic information on the terminal device 102 according to the resume template. After successful submission, the information is sent to the server 104. The server 104 parses the resume data and stores it in an SQL database. The resume data can include fixed and non-fixed fields. Fixed fields include name, gender, and school, while non-fixed fields include hobbies, certificates, and honors. To facilitate resume information retrieval, for example, in a power company, a non-fixed field can be set in the resume data: "Whether family members work in the company; if so, which department they belong to."
[0031] S120: Convert the applicant's first type of resume data into a second type of resume data; the second type of resume data is stored in the ES database.
[0032] Specifically, the first type of resume data of the applicant can be converted into the second type of resume data according to the corresponding fields. In the ES database, each applicant's resume data can be set as a document. Correspondingly, each applicant's resume data has a unique resume ID, and the applicant's resume data is set as JSON data.
[0033] S130: Create candidate rules based on the recruitment criteria entered by the recruiter.
[0034] Specifically, each company has different recruitment criteria, and even the same company may have different criteria at different times. Therefore, recruiters can input the corresponding recruitment criteria on terminal device 102. After successful submission, the criteria can be sent to server 104. For example, the recruitment criteria input by the recruiter may be "the applicant graduated from a 211 university and has a master's degree in computer science". Based on the recruitment criteria input by the recruiter, corresponding candidate rules can be created and converted into strings accordingly. The creation and definition of candidate rules can also be expanded and optimized as business needs change, which can improve the flexibility and adaptability of the system.
[0035] S140: Generate the corresponding rule expression based on the created candidate rule.
[0036] Specifically, the created candidate rules can be used by a rule engine to generate corresponding rule expressions. A rule engine could be, for example, Avaitor, a component for expression evaluation. The rule engine first parses the input string expression, converting it into a computable rule expression. The parser identifies elements such as numbers, operators, and parentheses in the expression and converts them into corresponding data structures, such as abstract syntax trees (ASTs).
[0037] S150: Use regular expressions to match and calculate the second type of resume data to obtain candidate resume data that meets the recruitment conditions entered by the recruiter.
[0038] Specifically, the parameters from the second type of resume data can be filled into the regular expression. The AST is traversed, and calculations are performed based on operator precedence and associativity to obtain the value of the regular expression. After the calculation is completed, the Avaitor component will output the calculation result as a string. Corresponding fields can be added to the second type of resume data to identify resumes that meet the recruitment conditions entered by the recruiter, and candidate resume data can be filtered and output. Candidate resume data can be transferred to different subsequent business stages. This can greatly improve the efficiency of resume information processing, reduce manual operations, and at the same time reduce human error, thereby improving the accuracy of processing.
[0039] S170: Receive the input query conditions, search the candidate resume data to obtain a list of target resume data that matches the query conditions.
[0040] Specifically, recruiters can input search criteria into the search engine on terminal device 102, call the Java interface, and the Java interface parses the search criteria to search for candidate resumes, obtaining a list of target resumes that match the search criteria. When a candidate's resume is clicked, that candidate's resume is displayed as a card. Based on the created candidate rules, a corresponding rule expression is generated by the rule engine, and this rule expression is used to match and calculate the second type of resume data to obtain candidate resumes that meet the recruiter's input recruitment criteria. This search within the candidate resume data is more targeted, avoiding direct searching in a massive resume database. Furthermore, candidate rules can be flexibly customized and adjusted according to the recruiter's business needs to filter candidate resumes, adapting to different business scenarios and changing requirements, thus improving the system's flexibility and adaptability. Because resume information is queried from the ES database, it offers advantages such as improved efficiency and accuracy, flexible customization, high scalability, real-time performance, and instant feedback.
[0041] In some embodiments, step S130, creating candidate rules based on the recruitment criteria input by the recruiter, includes the following specific steps:
[0042] S131: Create tag rules; where tag rules are used to match and calculate the tag information of the second type of resume data based on the first type of recruitment criteria input by the recruiter. Specifically, for example, if the recruiter selects from numerous applicants' second type of resume data that "the applicant graduated from a 211 university and holds a master's degree in computer science," a corresponding tag rule can be created. If the applicant meets or exceeds this recruitment criterion, the resume is approved, and a corresponding tag can be added to the applicant's second type of resume data. The tag name could be, for example, "211 Master's." And / or,
[0043] S132: Create scoring rules; where scoring rules are used to match and calculate the second type of resume data based on the second type of recruitment conditions input by the recruiter, in order to obtain the scoring information of the second type of resume data; where scoring rules include parameters for setting tag information. Specifically, for example, if the recruiter selects from the first type of resume data of many applicants that "the applicant graduated from a 211 university and has a master's degree in computer science", a corresponding scoring rule can be created. The scoring rule is, for example, "a 211 or 985 university will score 3 points, another university will score 1 point; a master's degree in computer science will score 5 points, and a master's degree in a computer-related major will score 3 points", etc. When the scoring rule includes parameters for setting tag information, that is, the scoring rule can also be measured from the dimension of tag information, for example, the scoring rule can be set to "if the second type of resume data carries the tag "211 master's", then the score is 8 points".
[0044] In some embodiments, step S130, creating candidate rules based on the recruitment criteria input by the recruiter, further includes:
[0045] S133: Create flow rules; where flow rules are used to match and calculate the flow stage information of the second type of resume data based on the third type of recruitment conditions input by the recruiter; where flow rules include parameters for setting tag information, scoring information and / or flow stages. Specifically, flow stages may include: screening stage, written test stage, interview stage, preliminary hiring stage and prospective employee stage; the above stages are the stages set for the sequential flow of resumes. Of course, resumes that meet specific recruitment conditions can also jump to the subsequent stages. For example, candidate resume data filtered from a large number of resumes can directly jump to the written test stage or the interview stage, which will not be listed here. When the flow rules include parameters for setting tag information, scoring information and / or flow stages, that is, the flow rules can also consider the screening of the second type of resume data from the dimensions of tag information, scoring information and / or flow stages. For example, the flow rules can be set to "if the second type of resume data carries the tag "211 Master's", and the score is 80 points or above, it can enter the written test stage".
[0046] In some embodiments, step S150, which involves matching and calculating the second type of resume data using rule expressions to obtain candidate resume data that meets the recruitment conditions input by the recruiter, includes the following specific steps:
[0047] S151: Match and calculate the resume fields in the second type of resume data using the first rule expression to determine whether one or more of the applicant's basic information in the current second type of resume data meets the first type of recruitment conditions entered by the recruiter; if one or more of the applicant's basic information in the current second type of resume data meets the first type of recruitment conditions entered by the recruiter, then the current second type of resume data is tagged to obtain resume data with tag information; where the first rule expression is a rule expression generated based on tag rules. Specifically, the applicant's basic information may include, but is not limited to, name, gender, graduating school, hobbies, certificates, honors, internship unit, etc. The first type of recruitment condition may also be "family members are in the company; if so, which department they belong to", or "received a national scholarship while in school". If the applicant's basic information meets the recruitment condition, then the applicant's resume data is tagged accordingly. A tag ID field can be added to the applicant's resume data to obtain the corresponding tag information; therefore, the applicant's resume data can be distinguished and filtered through tag information. And / or,
[0048] S152: The resume fields in the second type of resume data are matched and calculated using the second rule expression to determine whether one or more of the applicant's basic information in the current second type of resume data meets the second type of recruitment conditions entered by the recruiter. If one or more of the applicant's basic information in the current second type of resume data meets the second type of recruitment conditions entered by the recruiter, the current second type of resume data is scored to obtain second type of resume data with scoring information. The second rule expression is a rule expression generated based on the scoring rules. Specifically, by scoring various indicators in the applicant's basic information, corresponding scores are obtained. Based on the requirements of the recruitment position, the candidate's educational background, work experience, skills, language ability, and other indicators can be quantitatively evaluated and assigned corresponding scores. This allows for an objective evaluation of the applicant's overall quality, helping recruiters quickly screen qualified candidates and improve recruitment efficiency. Accordingly, a score field can be added to the applicant's resume data to obtain the corresponding scoring information.
[0049] In some embodiments, step S150, which involves matching and calculating the second type of resume data using rule expressions to obtain candidate resume data that meets the recruitment conditions input by the recruiter, further includes the following specific steps:
[0050] S153: The resume fields in the second type of resume data are matched and calculated using a third rule expression. The matching is performed based on whether the configuration parameters of one or more resume information items in the current second type of resume data meet the third type of recruitment conditions input by the recruiter. If the configuration parameters of one or more resume information items in the current second type of resume data meet the third type of recruitment conditions input by the recruiter, the current second type of resume data is filtered to obtain candidate resume data that meets the third type of recruitment conditions input by the recruiter. The third rule expression is a rule expression generated according to the flow rules. The configuration parameters of the resume information include at least one of the following: the applicant's basic information, tag information, and rating information. Specifically, when recruiters set recruitment criteria for applicants, they not only consider the job requirements but also whether the applicant aligns with the company's development vision. Therefore, they assess candidates' educational background, work experience, skills, language proficiency, and personal qualities. The workflow rules can be configured to allow resumes meeting specific recruitment criteria to proceed to the appropriate stage. When candidate resumes meet the third type of recruitment criteria entered by the recruiter, they will proceed to the corresponding stage. This allows recruiters to search for resumes at different stages, improving search and recruitment efficiency and avoiding the time-consuming and laborious process of searching through massive amounts of resume data. When the rule engine needs to calculate multiple rules simultaneously, the priority order is: tag rules, scoring rules, and workflow rules.
[0051] In some embodiments, step S150, after matching and calculating the second type of resume data using a rule expression to obtain candidate resume data, further includes the following specific steps:
[0052] S160: Group the candidate resume data according to different stages of the process to obtain multiple sets of candidate resume data; among them, the multiple sets of candidate resume data are candidate resume data corresponding to each stage of the screening stage, written test stage, interview stage, prospective hiring stage and pre-employment stage.
[0053] S161: Sort each group of candidate resume data in each circulation stage according to whether it has tag information and rating information; wherein, candidate resume data with tag information takes priority over candidate resume data without tag information; and / or, candidate resume data is sorted according to the score in the rating information.
[0054] Specifically, candidate resume data filtered through the rule engine's calculation of flow rules can be output to the corresponding flow stage. Recruiters can also transfer candidate resume data from the current stage to the next stage after performing the corresponding recruitment screening. For example, if a recruiter selects to send written test information to the top 20 candidates in the screening stage, the resume data of those candidates who successfully sent the information can flow to the written test stage. Since each flow stage can have multiple sets of candidate resume data, candidate resumes with tags are prioritized over those without tags. Candidate resumes are also sorted according to their scores in the rating information, making it convenient for recruiters to view the resumes.
[0055] In some embodiments, step S120, which involves converting the applicant's first type of resume data into second type of resume data, includes the following specific steps:
[0056] S121: Convert the applicant's first type of resume data into the second type of resume data according to the corresponding fields;
[0057] S122: When an applicant updates the first type of resume data, use the xxl-job framework to set up a timed update task to scan the updated fields in the first type of resume data at preset time intervals.
[0058] S123: Set the update time of the currently updated field as the base time, calculate the time interval between the current time and the base time, and if the calculated time interval is greater than the preset time period, then determine the currently updated field as the field to be converted.
[0059] S124: Divide the fields to be converted into multiple data packets, and start a computing thread for each data packet to generate the second type of resume data.
[0060] Specifically, for example, if Zhang San submits his resume to a power company and fills in a non-fixed field: "Does his family member work for the company? If so, which department?", this field can be converted into the corresponding "CCF1" field in the Elasticsearch database. The "CCF1" field is JSON structured data, thus achieving synchronization to the Elasticsearch database. A scheduled task can be set up using the xxl-job framework to scan the updated fields of the resume data at regular intervals, such as every 5 minutes. It compares the resume table in the SQL Server database with the resume data in Elasticsearch. If an updated field is found, it is synchronized and updated in the Elasticsearch database. Multi-threading can be used in the scheduled update task to improve update efficiency. A retry mechanism can be implemented to ensure the reliability and integrity of data updates in case of update failures. For example, changes in resume data may have a RecordChangeDate time field in the resume table. When the resume data is updated, this time field is updated to the base time. The xxl-job framework can be set to scan the SQL Server database every 5 minutes for records where RecordChangeDate is greater than the current time minus 5 minutes, for example, scanning for 10,000 updated records. The updated data can be divided into data packets of 5000 records each. Each data packet starts a computing thread, which converts and stores the updated data in the Elasticsearch database. Since there may be errors when each thread retrieves resume data, it can be retried 3 times.
[0061] In some embodiments, when an applicant's resume reaches the preliminary hiring stage, the number of openings for that position may already be filled. If the applicant's second job preference is "sales," and that position is not yet filled, the "sales" position can be changed back to the applicant's first job preference. Therefore, when resumes that have passed the screening stage are transferred to subsequent target stages, if a change in job preference occurs, the user's first and second resume data can be updated sequentially according to the changed job preference. This not only improves recruitment efficiency but also increases the system's flexibility.
[0062] Corresponding to the method embodiments of this application, this application also provides an apparatus for searching resumes based on an ES database, such as... Figure 3 As shown, specifically, it may include:
[0063] The acquisition module 510 is used to acquire the first type of resume data of the applicant; wherein, the first type of resume data of the applicant is stored in an SQL database;
[0064] The generation module 520 is used to generate a second type of resume data based on the applicant's first type of resume data; wherein, the second type of resume data is stored in the ES database;
[0065] Create module 530, which is used to create candidate rules based on the recruitment criteria entered by the recruiter;
[0066] Rule module 540 is used to generate corresponding rule expressions based on the created candidate rules;
[0067] The calculation module 550 is used to match and calculate the second type of resume data using regular expressions to obtain candidate resume data that meet the recruitment conditions input by the recruiter.
[0068] The search module 570 is used to receive input query conditions, search the candidate resume data, and obtain a list of target resume data that matches the query conditions.
[0069] The apparatus for searching resumes based on an ES database provided in this application embodiment may further include:
[0070] Grouping module 560 is used to group candidate resume data according to different stages of the process to obtain multiple sets of candidate resume data; among them, the multiple sets of candidate resume data are candidate resume data corresponding to each stage of screening, written test, interview, prospective hiring and pre-employment stages.
[0071] The sorting module 561 is used to sort each group of candidate resume data in each circulation stage according to whether it has tag information and rating information; wherein, candidate resume data with tag information is given priority over candidate resume data without tag information; and / or, candidate resume data is sorted according to the score in the rating information.
[0072] The electronic device in this application embodiment may be a user terminal device, a server, other computing devices, or a cloud server. Figure 4 The diagram illustrates the hardware structure of an electronic device according to an embodiment of this application. The electronic device may include a processor 601 and a memory 602 storing computer program instructions. When the processor 601 executes the computer program instructions, it implements the process or function of any of the methods described above.
[0073] Specifically, processor 601 may include a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. Memory 602 may include mass storage for data or instructions. For example, memory 602 may be at least one of the following: hard disk drive (HDD), read-only memory (ROM), random access memory (RAM), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, universal serial bus (USB) drive, or other physical / tangible memory storage device. Alternatively, memory 602 may include removable or non-removable (or fixed) media. Furthermore, memory 602 may be internal or external to the integrated gateway disaster recovery device. Memory 602 may be non-volatile solid-state memory. In other words, typically memory 602 includes a tangible (non-transitory) computer-readable storage medium (such as a memory device) encoded with computer-executable instructions, and when the software is executed (e.g., by one or more processors), it can perform the operations described in the methods of the embodiments of this application. The processor 601 implements the process or function of any of the methods described in the above embodiments by reading and executing computer program instructions stored in the memory 602.
[0074] In one example Figure 4 The illustrated electronic device may also include a communication interface 603 and a bus 610. The processor 601, memory 602, and communication interface 603 are connected via bus 610 and communicate with each other. Communication interface 603 is primarily used to enable communication between modules, devices, units, and / or equipment in the embodiments of this application. Bus 610 may include hardware, software, or both, and can couple components of the online data traffic billing device together. For example, the bus may include at least one of the following: Accelerated Graphics Port (AGP) or other graphics bus, Enhanced Industry Standard Architecture (EISA) bus, Front Side Bus (FSB), HyperTransport (HT) Interconnect, Industry Standard Architecture (ISA) bus, Infinite Bandwidth Interconnect, Low Pin Count (LPC) bus, memory bus, Microchannel Architecture (MCA) bus, Peripheral Component Interconnect (PCI) bus, PCI-Express (PCI-X) bus, Serial Advanced Technology Attachment (SATA) bus, Video Electronics Standards Association Local (VLB) bus, or other suitable buses. Bus 610 may include one or more buses. Although specific buses are described or illustrated in the embodiments of this application, any suitable bus or interconnection method may be considered in the embodiments of this application.
[0075] In conjunction with the methods in the above embodiments, this application also provides a computer-readable storage medium storing computer program instructions, which, when executed by a processor, implement the process or function of any of the methods in the above embodiments.
[0076] In addition, this application also provides a computer program product that stores computer program instructions, which, when executed by a processor, implement the process or function of any of the methods described above.
[0077] The flowcharts and / or block diagrams of methods, apparatuses, systems, and computer program products according to embodiments of this application have been exemplarily described above, and related aspects have been described. It should be understood that each block or combination thereof in the flowcharts and / or block diagrams may be implemented by computer program instructions, by dedicated hardware performing a specified function or action, or by a combination of dedicated hardware and computer instructions. For example, these computer program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to form a machine that enables the implementation of the function / action specified in each block or combination thereof in the flowcharts and / or block diagrams, executable via such processor. Such a processor may be a general-purpose processor, a dedicated processor, a special-purpose application processor, or a field-programmable logic circuit.
[0078] The functional blocks shown in the structural block diagrams of this application can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc.; when implemented in software, they are programs or code segments used to perform the required tasks. Programs or code segments can be stored in memory or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. Code segments can be downloaded via computer networks such as the Internet or intranets.
[0079] It should be noted that this application is not limited to the specific configurations and processes described above or shown in the figures. The above descriptions are merely specific embodiments of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the described systems, devices, modules, or units can be referred to the corresponding processes in the method embodiments, and need not be repeated here. It should be understood that the scope of protection of this application is not limited thereto. Any person skilled in the art can conceive of various equivalent modifications or substitutions within the scope of the technology disclosed in this application, and these modifications or substitutions should all be covered within the scope of protection of this application.
Claims
1. A method for searching resumes based on an Elasticsearch database, characterized in that, include: Retrieve the first type of resume data from job applicants; this first type of resume data is stored in an SQL database. The applicant's first type of resume data is converted into a second type of resume data; the second type of resume data is stored in an ES database. Candidate rules are created based on the recruitment criteria input by the recruiter. These candidate rules include tagging rules and / or scoring rules, as well as workflow rules. Tagging rules are used to match and calculate the tags of the second type of resume data based on the first type of recruitment criteria input by the recruiter, thus obtaining tag information for the second type of resume data. Scoring rules are used to match and calculate the scores of the second type of resume data based on the second type of recruitment criteria input by the recruiter, thus obtaining score information for the second type of resume data. Scoring rules include parameters for setting tagging information. Workflow rules are used to match and calculate the workflow stage information of the second type of resume data based on the third type of recruitment criteria input by the recruiter, thus obtaining workflow stage information for the second type of resume data. Workflow rules include parameters for setting tagging information, scoring information, and / or workflow stages. Generate corresponding rule expressions based on the created candidate rules; A rule expression is used to match and calculate the second type of resume data to obtain candidate resume data that meets the recruitment conditions input by the recruiter. The candidate resume data includes at least one of the following: basic information of the applicant, tag information, rating information, and process stage information. A third rule expression is used to match and calculate the resume fields in the second type of resume data, based on whether the configuration parameters of one or more resume information in the current second type of resume data meet the third type of recruitment conditions input by the recruiter. If the configuration parameters of one or more resume information in the current second type of resume data meet the third type of recruitment conditions input by the recruiter, the current second type of resume data is filtered to obtain candidate resume data that meets the third type of recruitment conditions input by the recruiter. The third rule expression is a rule expression generated based on the process flow rules. The configuration parameters of the resume information include at least one of the following: basic information of the applicant, tag information, and rating information. The candidate resume data is grouped according to different stages of the process to obtain multiple sets of candidate resume data; among them, the multiple sets of candidate resume data are candidate resume data corresponding to each stage of the screening stage, written test stage, interview stage, prospective hiring stage and pre-employment stage. Each set of candidate resumes at each stage of the process is sorted according to whether it has tag information and / or rating information; among them, candidate resumes with tag information are given priority over candidate resumes without tag information; and / or, candidate resumes are sorted according to the scores in the rating information. It receives the input query criteria, searches the candidate resume data, and obtains a list of target resumes that match the query criteria.
2. The method according to claim 1, characterized in that, The step of matching and calculating the second type of resume data using regular expressions to obtain candidate resume data that meets the recruitment criteria input by the recruiter also includes: The resume fields in the second type of resume data are matched and calculated using the first rule expression to determine whether one or more basic information of applicants in the current second type of resume data meet the first type of recruitment conditions entered by the recruiter; if one or more basic information of applicants in the current second type of resume data meet the first type of recruitment conditions entered by the recruiter, the current second type of resume data is tagged to obtain resume data with tagged information; wherein, the first rule expression is a rule expression generated based on the tagging rules; and / or, The resume fields in the second type of resume data are matched and calculated using the second rule expression to determine whether one or more of the applicants' basic information in the current second type of resume data meets the second type of recruitment conditions entered by the recruiter. If one or more of the applicants' basic information in the current second type of resume data meets the second type of recruitment conditions entered by the recruiter, the current second type of resume data is scored to obtain second type of resume data with scoring information. The second rule expression is a rule expression generated based on the scoring rules.
3. The method according to claim 1, characterized in that, The process of converting the applicant's first type of resume data into the second type of resume data includes: Convert the applicant's first type of resume data into the second type of resume data according to the corresponding fields; When applicants update the first type of resume data, the xxl-job framework is used to set up a timed update task to scan the updated fields in the first type of resume data at preset time intervals. Set the update time of the currently updated field as the base time, calculate the time interval between the current time and the base time, and if the calculated time interval is greater than the preset time period, then determine the currently updated field as the field to be converted. The fields to be converted are divided into multiple data packets, and a computing thread is started for each data packet to obtain the second type of resume data.
4. A device for searching resumes based on an ES database, characterized in that, include: The acquisition module is used to acquire the first type of resume data of job applicants; the first type of resume data of job applicants is stored in an SQL database; The generation module is used to generate a second type of resume data based on the applicant's first type of resume data; the second type of resume data is stored in an ES database. A creation module is used to create candidate rules based on recruitment criteria input by recruiters. These candidate rules include tagging rules and / or scoring rules, as well as workflow rules. Tagging rules are used to match and calculate the tag information of a second type of resume data based on the first type of recruitment criteria input by the recruiter. Scoring rules are used to match and calculate the score information of a second type of resume data based on the second type of recruitment criteria input by the recruiter. Scoring rules include parameters for setting tag information. Workflow rules are used to match and calculate the workflow stage information of a second type of resume data based on the third type of recruitment criteria input by the recruiter. Workflow rules include parameters for setting tag information, scoring information, and / or workflow stages. The rules module is used to generate corresponding rule expressions based on the created candidate rules; The calculation module is used to match and calculate the second type of resume data using rule expressions to obtain candidate resume data that meets the recruitment conditions input by the recruiter. The candidate resume data includes at least one of the following: basic information of the applicant, tag information, rating information, and process stage information. The module then matches and calculates the resume fields in the second type of resume data using a third rule expression, based on whether the configuration parameters of one or more resume information items in the current second type of resume data meet the third type of recruitment conditions input by the recruiter. If the configuration parameters of one or more resume information items in the current second type of resume data meet the third type of recruitment conditions input by the recruiter, the current second type of resume data is filtered to obtain candidate resume data that meets the third type of recruitment conditions input by the recruiter. The third rule expression is a rule expression generated based on the process flow rules. The configuration parameters of the resume information include at least one of the following: basic information of the applicant, tag information, and rating information. The grouping module is used to group candidate resume data according to different stages of the process to obtain multiple sets of candidate resume data; among them, the multiple sets of candidate resume data are candidate resume data corresponding to each stage of the screening stage, written test stage, interview stage, prospective hiring stage and pre-employment stage. The sorting module is used to sort each group of candidate resume data in each circulation stage according to whether it has tag information and rating information; wherein, candidate resume data with tag information is given priority over candidate resume data without tag information; and / or, candidate resume data is sorted according to the score in the rating information. The search module receives input query criteria, searches candidate resume data, and obtains a list of target resumes that match the query criteria.
5. An electronic device, characterized in that, The electronic device includes a processor and a memory storing computer program instructions; when the electronic device executes the computer program instructions, it implements the method as described in any one of claims 1-3.
6. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions that, when executed by a processor, implement the method as described in any one of claims 1-3.
Citation Information
Patent Citations
Method, device and system for government affair information search, equipment and storage medium
CN111191105A
Resume matching method and device, electronic equipment and storage medium
CN117909472A