House rental multi-metric space search method based on hierarchical joint graph index

By constructing a hierarchical joint graph index and employing a best-priority search strategy, this approach addresses the problem that existing housing rental search methods cannot meet users' personalized needs. It enables efficient and flexible querying of multi-metric spaces and improves the timeliness and quality of rental feedback.

CN116304237BActive Publication Date: 2026-04-14ZHEJIANG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHEJIANG UNIV
Filing Date
2023-03-20
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing housing rental search methods cannot simultaneously model and integrate different indicators such as price, apartment type, location, and reviews, thus failing to meet users' personalized needs and efficiently cope with the flexibility and complexity of users' evaluation criteria, resulting in untimely feedback on rental opinions.

Method used

We adopt a hierarchical joint graph index-based approach, which constructs a hierarchical joint graph index in a multi-metric space, dynamically adjusts the graph structure, and uses the best priority search strategy and pruning techniques to perform approximate nearest neighbor search, supporting flexible querying in a multi-metric space.

Benefits of technology

It enables efficient modeling of different types of housing data, such as price, apartment type, location, and reviews, supports flexible and complex queries, meets users' personalized needs, and improves the timeliness and quality of rental feedback.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116304237B_ABST
    Figure CN116304237B_ABST
Patent Text Reader

Abstract

The application discloses a kind of based on layered joint graph index's house rental multi metric space search method, comprising: obtaining new house object, find the k nearest neighbor house object of the new house object in each metric space, under each metric space, add undirected edge in new house object and its k nearest neighbor house object, adopt splitting and hierarchical update strategy based on tree, dynamically adjust graph structure, improve node distribution, to build layered joint graph index, wherein the metric space includes price metric space, house type metric space, geographical position metric space and comment metric space;Based on the pruning technique of best priority search strategy, multi metric space approximate nearest neighbor search is carried out using the layered joint graph index, and the approximate-k nearest neighbor house object of given query house object is obtained.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of approximate nearest neighbor search in multi-metric spatial graph index, and particularly relates to a multi-metric spatial search method for housing rental based on hierarchical joint graph index. Background Technology

[0002] The rapid development of the Internet of Things (IoT) and 5G networks has led to a continuous increase in the types and quantities of data. To create value from this massive and diverse data, metric spaces are attracting increasing attention due to their ability to accommodate any data type and support flexible distance metrics. k-Nearest Neighbor (kNN) search, as a data analysis technique within metric spaces, has wide applications in real-world scenarios, including multimedia retrieval, data mining, pattern recognition, and recommendation systems. However, due to the curse of dimensionality, exact algorithms struggle to efficiently find results across multiple metric spaces. Therefore, this invention focuses on approximate solutions, and graph methods offer better empirical search performance. Thus, designing a graph-indexed approximate nearest neighbor search method for multiple metric spaces has become an urgent need for both academia and industry. For example, in housing rentals, describing a rental property may require various data metrics, such as price, floor plan, location, and reviews. Furthermore, different users may have diverse evaluation criteria for different properties. For example, some users may pay more attention to the price and reviews of a house, while others may focus more on the layout and location. Still others may need to consider the price, layout, location, and reviews in combination, but with different weights for different indicators.

[0003] In the process of realizing this invention, the inventors discovered at least the following problems in the prior art:

[0004] Existing housing rental search methods cannot simultaneously model and integrate data from different indicators such as price, apartment type, location, and reviews. This results in their inability to meet users' diverse and personalized housing rental needs (e.g., finding apartments with similar prices, similar apartment types, and excellent locations). Furthermore, existing housing rental search methods cannot effectively address the flexibility and complexity of users' evaluation criteria when renting, cannot efficiently meet the complex indicator needs considered by users when renting, and cannot quickly and timely provide high-quality housing rental recommendations (e.g., difficulty in dynamically adjusting the weight of each indicator query parameter according to user needs). Summary of the Invention

[0005] To address the shortcomings of existing technologies and meet the diverse and personalized housing rental needs of users in real-world situations, the purpose of this application is to provide a multi-metric space search method for housing rentals based on a hierarchical joint graph index, thereby resolving the issue of diverse housing rental demands. Furthermore, it focuses on finding high-quality approximate solutions to meet users' need for timely feedback on housing rental requests.

[0006] According to a first aspect of the embodiments of this application, a multi-metric spatial search method for housing rentals based on a hierarchical joint graph index is provided, comprising:

[0007] Obtain a new house object, find the k nearest neighbor house objects of the new house object in each metric space, add undirected edges between the new house object and its k nearest neighbor house objects in each metric space, adopt a tree-based splitting and hierarchical update strategy to dynamically adjust the graph structure and improve the node distribution, thereby constructing a hierarchical joint graph index, wherein the metric space includes price metric space, house type metric space, geographic location metric space and review metric space;

[0008] Based on the pruning technique of the best-priority search strategy, the hierarchical joint graph index is used to perform a multi-metric space approximate nearest neighbor search to obtain approximate k-nearest neighbor house objects for a given query house object.

[0009] Furthermore, new house objects are obtained, and the k nearest neighbors of the new house objects in each metric space are found. Undirected edges are added between the new house objects and their k nearest neighbors in each metric space. A tree-based splitting and hierarchical update strategy is adopted to dynamically adjust the graph structure and improve node distribution, thereby constructing a hierarchical joint graph index, including:

[0010] S21: Get the new house object, current graph, k-nearest neighbor parameter, and maximum number parameter;

[0011] S22: Initialize the hierarchy of the new house object to 0, and initialize the update list to an empty set;

[0012] S23: Randomly select an unvisited metric space as the current metric space for access, set the weight of the current metric space to 1, and set the weight of the other metric spaces to 0.

[0013] S24: Based on the current weight vector composed of the weights of all current metric spaces and the k-nearest neighbor parameter, find the k nearest neighbor house objects of the new house object in the current metric space, and use these k nearest neighbor house objects to initialize the result set in the current metric space;

[0014] S25: Arbitrarily select an unvisited result object from the result set of the current metric space as the current result object, add an undirected edge between the current result object and the new house object in the current metric space, and update the corresponding number of nodes at the same level and the number of nodes at the lower level.

[0015] S26: If the number of sibling nodes or the number of lower-level nodes of the current result object is greater than the maximum number parameter, and the current result object is not in the update list, then add the current result object to the update list;

[0016] S27: Repeat steps S25-S26 until all result objects in the current metric space result set have been accessed;

[0017] S28: Repeat steps S23-S27 until all metric spaces have been visited;

[0018] S29: Traverse and visit each house object in the update list according to the ascending order of the house object's level, and update the house objects sequentially according to the tree-based splitting and hierarchical update strategy, thereby constructing a hierarchical joint graph index.

[0019] Furthermore, following the ascending order of the house objects' hierarchical levels, each house object in the update list is traversed and accessed, and the house objects are updated sequentially according to a tree-based splitting and hierarchical update strategy, thereby constructing a hierarchical joint graph index, including:

[0020] S31: Obtain the lowest-level house object to be updated from the update list in ascending order of the house object's level;

[0021] S32: If the number of nodes on the same floor and the number of nodes on the lower floor of the house object to be updated are both less than or equal to the maximum number parameter, then no update is performed; if the number of nodes on the lower floor of the house object to be updated is greater than the maximum number parameter, then steps S33-S36 are executed; otherwise, proceed to step S37.

[0022] S33: Initialize the update list to an empty set;

[0023] S34: Randomly select an unvisited metric space for access. Under the currently accessed metric space, find the house object closest to the house object to be updated and the house object farthest from the house object based on the multi-metric distance. If the closest house object or the farthest house object is not in the update list, add it to the update list.

[0024] S35: Repeat step S34 until all metric spaces have been visited;

[0025] S36: Iterate through all the house objects in the update list, increment the level of each house object in the update list by one, and update the level of the edge associated with each house object;

[0026] S37: Increment the level number of the house object to be updated by one, and initialize the update list to an empty set;

[0027] S38: Iterate through each neighboring house object of the house object to be updated. If the number of nodes at the same level or the number of nodes at the lower level of a neighboring house object is greater than the maximum number parameter and the neighboring house object is not in the update list, then add the neighboring house object to the update list.

[0028] S39: According to the ascending order of the level where the house objects are located, traverse and visit each house object in the update list as the house object to be updated, and repeat the above steps S32-S38.

[0029] S310: Iterate through each neighboring house object of each house object in the update list. If there is a neighboring house object whose level is greater than or equal to the level of the updated house object, then end the entire process.

[0030] S311: Determine whether the updated house object can be routed to by the routing object in the graph. If not, add the updated house object to the routing list and obtain the updated and adjusted hierarchical joint graph index.

[0031] Furthermore, during the multi-metric space approximate nearest neighbor search using the hierarchical joint graph index, the search is performed in a top-down order, where objects are traversed in a breadth-first traversal order at each level, and pruning is performed using a pruning technique based on the best-first search strategy.

[0032] Furthermore, the search is performed in order from top to bottom, including:

[0033] S51: Get the query house object, query weight vector, number of nearest neighbor houses, and route list;

[0034] S52: Initialize the result set to an empty set, initialize the hierarchical result set of each level to an empty set, initialize the candidate object priority queue to an empty queue, and initialize the hierarchical candidate object priority queue of each level to an empty queue.

[0035] S53: Traverse and access each route object in the route list, calculate the single metric distance and the overall multi-metric distance from each route object to the query house object in each query metric space according to the query weight vector, and add each route object and its corresponding multi-metric distance to the candidate object priority queue, wherein the query metric space is set by the query weight vector;

[0036] S54: Initialize the current layer as the top level of the candidate object priority queue, initialize the result set of the current layer as a set of virtual object elements with an infinite multi-metric distance, and initialize the multi-metric distance threshold to infinity;

[0037] S55: Retrieve the top-level object in the candidate object priority queue and its corresponding multi-metric distance information, remove it from the candidate object priority queue and add it to the level candidate object priority queue corresponding to the current level, and mark the top-level object as visited;

[0038] S56: Repeat step S55 until the level number of the top-level object in the priority queue is not equal to the current level number;

[0039] S57: Following a breadth-first traversal order and using pruning techniques based on the best-first search strategy, traverse the objects in the priority queue of the current level's candidate objects and update the corresponding level result set.

[0040] S58: Select an unvisited result object from the current level result set and use it to update the result set;

[0041] S59: Traverse all lower-level neighbors of the current result object in each query metric space and use them to update the candidate object priority column;

[0042] S510: Repeat steps S58-S59 until all result objects in the current level result set have been traversed.

[0043] S511: Repeat steps S54-S510 until the priority queue is empty;

[0044] S512: Clear the visited flags of all objects and output the final result set.

[0045] Furthermore, the objects are traversed in a breadth-first order, and pruning techniques based on a best-first search strategy are applied, including:

[0046] S61: Remove the top-level object and its corresponding multi-metric distance information from the current priority queue. Based on the multi-metric distance information of the top-level object, determine whether the multi-metric distance or the lower bound of the multi-metric distance from the top-level object to the queried house object meets the multi-metric distance threshold. If not, proceed to step S69; otherwise, further calculate the multi-metric distance from the top-level object to the queried house object accurately and determine whether it is less than the multi-metric distance threshold. If it is less, execute steps S62-S68; otherwise, proceed to step S69.

[0047] S62: Add the current top-level object and its corresponding multi-metric distance information to the current level result set;

[0048] S63: If the number of objects in the current level result set is greater than the set number of nearest neighbors, then remove the last element in the current level result set until the number of objects in the current level result set is less than or equal to the number of nearest neighbors.

[0049] S64: Update the multi-metric distance threshold to the multi-metric distance information corresponding to the last object in the result set;

[0050] S65: Arbitrarily select an unvisited neighbor object of the current top-level object in each query metric space. If the currently visited neighbor object has not been visited, initialize the single metric distance between the neighbor object and the queried house object in each query metric space to infinity, and mark the neighbor object as visited.

[0051] S66: Based on the triangle inequality filtering principle, calculate the absolute value of the difference between the multi-metric distance of the current top-level object and the queried house object and the current same-level neighbor object, and use this absolute value as the lower bound of the multi-metric distance of the current same-level neighbor object;

[0052] S67: If the current same-level neighbor object is not in the current level priority queue, add the object to the level priority queue and set its corresponding multi-metric distance information as the lower bound of the multi-metric distance; if the current same-level neighbor object is already in the current level priority queue, update its corresponding multi-metric distance information to the lower bound of the multi-metric distance.

[0053] S68: Repeat steps S65-S67 until all the peer objects of the current top-level object in each query metric space have been traversed.

[0054] S69: Repeat steps S61-S68 until the hierarchy priority queue is empty.

[0055] According to a second aspect of the embodiments of this application, a multi-metric spatial search device for housing rentals based on a hierarchical joint graph index is provided, comprising:

[0056] The hierarchical joint graph index construction module is used to obtain new house objects, find the k nearest neighbors of the new house objects in each metric space, add undirected edges between the new house objects and their k nearest neighbors in each metric space, and dynamically adjust the graph structure and improve the node distribution by adopting a tree-based splitting and hierarchical update strategy, thereby constructing a hierarchical joint graph index.

[0057] The approximate nearest neighbor search module is used for pruning techniques based on the best priority search strategy. It utilizes the hierarchical joint graph index to perform approximate nearest neighbor search in a multi-metric space to obtain approximate k-nearest neighbor objects for a given queried house object.

[0058] According to a third aspect of the embodiments of this application, an electronic device is provided, comprising:

[0059] One or more processors;

[0060] Memory, used to store one or more programs;

[0061] When the one or more programs are executed by the one or more processors, the one or more processors perform the method as described in the first aspect.

[0062] According to a fourth aspect of the embodiments of this application, a computer-readable storage medium is provided that stores computer instructions thereon, which, when executed by a processor, implement the steps of the method as described in the first aspect.

[0063] The technical solutions provided by the embodiments of this application may include the following beneficial effects:

[0064] As can be seen from the above embodiments, this application proposes a multi-metric space search method and apparatus for housing rental based on hierarchical joint graph index. This method can capture the properties of rental properties in various single-metric spaces and supports efficient and flexible near-nearest neighbor search in the multi-metric space of housing rental. The multi-metric space search method for housing rental based on hierarchical joint graph index proposed in this application has high query performance and strong scalability. It can simultaneously model and process different types of housing data indicators such as price, unit type, geographical location, and reviews, and supports complex queries of different housing indicators and their flexible combinations. This meets the personalized housing rental needs of users in real life and efficiently and effectively solves the problem of diversified housing rental. It should be understood that the above general description and the following detailed description are merely exemplary and explanatory and do not limit this application. Attached Figure Description

[0065] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0066] Figure 1 This is a flowchart illustrating a multi-metric spatial search method for housing rentals based on a hierarchical joint graph index, according to an exemplary embodiment.

[0067] Figure 2 This is a schematic diagram of a hierarchical union graph index structure according to an exemplary embodiment.

[0068] Figure 3 This is an overall flowchart illustrating the construction and querying of a hierarchical federated graph index according to an exemplary embodiment.

[0069] Figure 4 This is a block diagram illustrating a multi-metric spatial search device for housing rentals based on a hierarchical joint graph index, according to an exemplary embodiment.

[0070] Figure 5 This is a schematic diagram of an electronic device according to an exemplary embodiment. Detailed Implementation

[0071] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application.

[0072] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.

[0073] It should be understood that although the terms first, second, third, etc., may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."

[0074] This embodiment provides a multi-metric spatial search method for housing rentals based on a hierarchical joint graph index, the flowchart of which is shown below. Figure 1 As shown, it includes the following steps:

[0075] Step S11: Obtain the new house object, find the k nearest neighbors of the new house object in each metric space, add undirected edges between the new house object and its k nearest neighbors in each metric space, and dynamically adjust the graph structure and improve the node distribution by adopting a tree-based splitting and hierarchical update strategy, thereby constructing a hierarchical joint graph index.

[0076] Step S12: Based on the pruning technique of the best priority search strategy, the hierarchical joint graph index is used to perform a multi-metric space approximate nearest neighbor search to obtain the approximate k-nearest neighbor objects of a given queried house object.

[0077] As can be seen from the above embodiments, this application proposes a multi-metric space search method and apparatus for housing rental based on hierarchical joint graph index. This method can capture the properties of rental properties in each single metric space and supports efficient and flexible near-nearest neighbor search in the multi-metric space of housing rental. The multi-metric space search method for housing rental based on hierarchical joint graph index proposed in this application has high query performance and strong scalability. It can simultaneously model and process different types of housing data indicators such as price, unit type, geographical location, and reviews, and supports complex queries of different housing indicators and their flexible combinations. This meets the personalized housing rental needs of users in real life and efficiently and effectively solves the problem of diversified housing rental.

[0078] In the specific implementation of step S11, a new house object is obtained, the k nearest neighbors of the new house object in each metric space are found, and undirected edges are added between the new house object and its k nearest neighbors in each metric space. A tree-based splitting and hierarchical update strategy is adopted to dynamically adjust the graph structure and improve the node distribution, thereby constructing a hierarchical joint graph index.

[0079] Specifically, in step S11, the new house object is a newly selected house object from the rental housing dataset, which includes four metric spaces: price, apartment type, location, and reviews. The price distance metric in the price metric space is L1-distance, the apartment type and location distance metric in the apartment type and location metric spaces are L2-distance, and the review distance metric in the review metric space is word cosine distance. The k nearest neighbors of the new house object in each of the four metric spaces (price, apartment type, location, and reviews) are found. Undirected edges are added between the new house object and its k nearest neighbors. A tree-based splitting and hierarchical update strategy is used to dynamically adjust the graph structure and improve node distribution, thereby constructing a hierarchical joint graph index. In specific implementations, step S11 may include the following sub-steps:

[0080] S21: Get the new house object, current graph, k-nearest neighbor parameter, and maximum number parameter;

[0081] Specifically, the new house object is a newly selected house object from the rental house dataset; the current graph is the graph index composed of the existing house objects; the k-nearest neighbor parameter indicates that undirected edges need to be added between the new house object and its k nearest neighbors; and the maximum number parameter is used to limit the number of nodes at the same level and the number of nodes at the lower level of the house object.

[0082] S22: Initialize the hierarchy of the new house object to 0, and initialize the update list to an empty set;

[0083] S23: Randomly select an unvisited metric space as the current metric space for access, set the weight of the current metric space to 1, and set the weight of the other metric spaces to 0.

[0084] Specifically, if the selected unaccessed metric space is the price metric space, then the weight of the price metric space is set to 1, and the weights of the other three metric spaces—floor type, location, and reviews—are set to 0.

[0085] S24: Based on the current weight vector composed of the weights of all current metric spaces and the k-nearest neighbor parameter, find the k nearest neighbor house objects of the new house object in the current metric space, and use these k nearest neighbor house objects to initialize the result set in the current metric space;

[0086] Specifically, if the weight of the current price measurement space is 1, and the weights of the other three measurement spaces, namely, house type, location, and reviews, are 0, then the current weight vector is (1, 0, 0, 0). That is, it is necessary to find the k nearest neighbors of the new house object in the current price measurement space, and use these k nearest neighbors to initialize the result set in the current price measurement space.

[0087] S25: Arbitrarily select an unvisited result object from the result set of the current metric space as the current result object, add an undirected edge between the current result object and the new house object in the current metric space, and update the corresponding number of nodes at the same level and the number of nodes at the lower level.

[0088] Specifically, assuming the current metric space is a price metric space, an unvisited house object is arbitrarily selected from the result set of the current price metric space as the current result house object. An undirected edge is added between the current result house object and the new house object within the current price metric space, and the corresponding number of nodes at the same level and the number of nodes at the next lower level are updated. In actual implementation, the operation of adding an undirected edge between two house objects is transformed into the operation of adding two directed edges: adding a directed edge from house object 1 to house object 2 and adding a directed edge from house object 2 to house object 1. The directed edges need to contain metric space information, level information, and the single metric distance information between the two house objects within the current metric space. While adding the directed edge from house object 1 to house object 2, the corresponding information of house object 1 needs to be updated. If the level of house object 1 is equal to the level of house object 2, the number of nodes at the same level of house object 1 is incremented by 1; otherwise, if the level of house object 1 is equal to the level of house object 2 plus 1, the number of nodes at the next lower level of house object 1 is incremented by 1.

[0089] S26: If the number of nodes on the same floor or the number of nodes on the lower floor of the current result object, i.e. the current result house object, is greater than the maximum number parameter, and the current result house object is not in the update list, then add the current result house object to the update list;

[0090] S27: Repeat steps S25-S26 until all result objects in the current metric space result set have been accessed;

[0091] Specifically, in one embodiment, the current metric space can be a price metric space, that is, this step is described as: until all house objects in the price metric space result set have been accessed.

[0092] S28: Repeat steps S23-S27 until all metric spaces have been visited;

[0093] Specifically, in this embodiment, the price, apartment type, geographical location, and review metrics have all been accessed.

[0094] Specifically, steps S23-S28 mainly demonstrate the overall process of finding approximate k-nearest neighbors and adding undirected edges in each metric space when constructing the hierarchical joint graph index, thus showing the general overall structure of the proposed graph index. The above structure and process are as follows: Figure 2 and Figure 3 As shown, constructing a hierarchical joint graph index first requires finding approximate k-nearest neighbor objects in each metric space, namely metric space M1 and metric space M2 in the graph. Then, in each metric space, undirected edges are added between the new house object and its k nearest neighbors to form a preliminary multi-metric space graph structure.

[0095] S29: Traverse and visit each house object in the update list according to the ascending order of the house object's level, and update the house objects sequentially according to the tree-based splitting and hierarchical update strategy, thereby constructing a hierarchical joint graph index.

[0096] Specifically, step S29 may include the following sub-steps:

[0097] S31: Obtain the lowest-level house object to be updated from the update list in ascending order of the house object's level;

[0098] S32: If the number of nodes on the same floor and the number of nodes below the house object to be updated are both less than or equal to the maximum number parameter, then no update is performed; if the number of nodes below the house object to be updated is greater than the maximum number parameter, then steps S33-S36 are executed; otherwise, proceed to step S37.

[0099] Specifically, if the number of nodes on the same level and the number of nodes on the lower level of the house object to be updated are both less than or equal to the maximum number parameter, it means that the house object does not need to be updated, and the entire process ends.

[0100] S33: Initialize the update list to an empty set;

[0101] S34: Randomly select an unvisited metric space for access. Under the currently accessed metric space, find the house object closest to the house object to be updated and the house object furthest from the current metric distance. If the closest or furthest house object is not in the update list, add it to the update list.

[0102] Specifically, assuming that any unvisited metric space is the price metric space, then under the current price metric space, based on the price metric distance, i.e., L1-distance, it is necessary to find the house object that is closest to and furthest from the house object to be updated.

[0103] S35: Repeat step S34 until all metric spaces have been visited;

[0104] Specifically, in this embodiment, the price, apartment type, geographical location, and review metrics have all been accessed.

[0105] S36: Iterate through all the house objects in the update list, increment the level of each house object in the update list by one, and update the level of the edge associated with each house object;

[0106] Specifically, if the number of lower-level nodes of the house object being updated exceeds the maximum number parameter, then an update operation (level shift) is required for nodes at different levels.

[0107] S37: Increment the level number of the house object to be updated by one, and initialize the update list to an empty set;

[0108] S38: Iterate through each neighboring house object of the house object to be updated in sequence. If the number of nodes at the same level or the number of nodes at the lower level of a neighboring house object is greater than the maximum number parameter and the neighboring house object is not in the update list, then add the neighboring house object to the update list.

[0109] S39: According to the ascending order of the level where the house objects are located, traverse and visit each house object in the update list as the house object to be updated, and repeat the above steps S32-S38.

[0110] S310: Iterate through each neighboring house object of each updated house object in the update list. If there is a neighboring house object whose level is greater than or equal to the level of the updated house object, then end the entire process.

[0111] Specifically, updating the hierarchy of an object changes the graph structure, which may necessitate updating the objects in the route list. The route list is maintained to facilitate traversal of all nodes in the graph. By starting from each route object and traversing the graph, we can route to every object in the graph, and each object in the route list cannot be routed by other route objects. If there exists a neighboring house object whose hierarchy is greater than or equal to the level of the updated house object, it means that the updated house object can be routed by other route objects in the graph. Therefore, it does not need to be added to the route list separately, and the update process ends at this point.

[0112] S311: Determine whether the updated house object can be routed to by the routed house object in the graph. If not, add the updated house object to the routing list and obtain the updated hierarchical joint graph index.

[0113] Specifically, this invention designs a function to determine whether an updated house object can be routed in the graph, i.e., whether the routed house object can be routed to. The pseudocode of the function is as follows:

[0114]

[0115] in, The parameter represents the object to be evaluated. Each neighbor if Visited or The level is less than If the level is not specified, then skip the current neighbor. Continue visiting The next neighbor; if In the route list or The level is greater than If the level is met, the function returns true; if neither of the above two conditions is met, it will return true. Mark as visited, then The function is passed as an argument to continue the recursive evaluation. If the recursive result is true, the function returns true. The function iterates through the data. Each neighbor This continues until all neighbors have been visited. If the function returns true, it means... It can be routed by other route objects, so there is no need to... Add to the route list. If the function does not return true after all neighbors have been traversed, it returns false, meaning... It cannot be routed by other route objects, therefore it needs to be... Add to the route list;

[0116] In the specific implementation of step S12, based on the pruning technique of the best priority search strategy, the hierarchical joint graph index is used to perform a multi-metric space approximate nearest neighbor search to obtain the approximate k-nearest neighbor objects of a given queried house object.

[0117] Specifically, in the process of performing a multi-metric space approximate nearest neighbor search using the hierarchical joint graph index, the search is performed in a top-down order. In each layer, objects are traversed in a breadth-first order, and pruning techniques based on the best-first search strategy are applied. In this example, the pruning technique based on the best-first search strategy, using the hierarchical joint graph index to perform a multi-metric space approximate nearest neighbor search, obtains approximate k-nearest neighbor house objects for a given query house object, so as to meet the user's need to find similar rental houses according to preferences in a flexible combination of the four metric spaces of price, house type, location, and reviews.

[0118] Specifically, the search is performed in order from top to bottom, including:

[0119] S51: Get the query house object, query weight vector, number of nearest neighbor houses, and route list;

[0120] Specifically, querying a house object means querying the house object itself; querying the weight vector.

[0121] It describes the query weights for four metrics: price, apartment type, location, and reviews.

[0122] S52: Initialize the result set to an empty set, initialize the hierarchical result set of each level to an empty set, initialize the candidate object priority queue to an empty queue, and initialize the hierarchical candidate object priority queue of each level to an empty queue.

[0123] Specifically, the object elements in the result set and hierarchical result set are sorted in ascending order of their multi-metric distance to the query house object; the object elements in the priority queue and hierarchical priority queue are sorted according to their multi-metric distance to the query house object and their hierarchical number. The higher the hierarchical number of an object and the smaller its multi-metric distance to the query house object, the higher its priority. Since the hierarchical priority queue has the same hierarchical number of objects, it is equivalent to only considering the multi-metric distance as a priority factor.

[0124] S53: Traverse and access each route object in the route list, calculate the single metric distance and the overall multi-metric distance from each route object to the query house object in each query metric space according to the query weight vector, and add each route object and its corresponding multi-metric distance to the candidate object priority queue, wherein the query metric space is set by the query weight vector;

[0125] Specifically, assuming the query weight vector is specified by the user. The query metric space consists of price and geographic location metrics with non-zero weights. Step S53 calculates the single-metric distances in the price and geographic location metric spaces using L1-distance and L2-distance metrics respectively, and then calculates the overall multi-metric distance. The multi-metric distance is a weighted sum of the single-metric distances, i.e., 1 × price metric distance + 1 × geographic location metric distance (both with a weight of 1). Note that the single-metric distances here are all standardized distances. Step S53 also indicates that the multi-metric approximate search on the hierarchical federated graph index starts from the routing objects in the routing list. Maintaining the routing list is for better traversal of all nodes in the graph. Starting from each routing object, traversing the graph allows routing to every object in the graph, and each object in the routing list cannot be routed to by other routing objects.

[0126] S54: Initialize the current layer as the top-level house object in the candidate object priority queue, initialize the layer result set corresponding to the current layer as a set of virtual object elements with an infinite multi-metric distance, and initialize the multi-metric distance threshold to infinity;

[0127] S55: Retrieve the top-level house object and its corresponding multi-metric distance information from the candidate object priority queue, remove it from the candidate object priority queue and add it to the level candidate object priority queue corresponding to the current level, and mark the top-level object as visited;

[0128] S56: Repeat step S55 until the level number of the top-level house object in the priority queue is not equal to the current level number;

[0129] S57: Following a breadth-first traversal order and using pruning techniques based on the best-first search strategy, traverse the house objects in the priority queue of the current level candidate objects and update the corresponding level result set.

[0130] S58: Select an unvisited result house object from the current level result set and update the result set accordingly;

[0131] S59: Traverse all lower-level neighbors of the current result house object in each query metric space, and use them to update the candidate object priority column;

[0132] Specifically, assuming the query weight vector is specified by the user. The query metric space is the price and geographic location metric space with non-zero query weights. That is, step S59 iterates through all the lower-level neighbors of the current result house object in the price and geographic location metric space and adds them all to the candidate object priority list.

[0133] S510: Repeat steps S58-S59 until all result house objects in the current level result set have been traversed.

[0134] S511: Repeat steps S54-S510 until the priority queue is empty;

[0135] S512: Clear the visited markers for all house objects and output the final result set.

[0136] Specifically, the objects are traversed in a breadth-first order, and pruning is performed using a best-first search strategy, including:

[0137] S61: Remove the top-level object and its corresponding multi-metric distance information from the current priority queue. Based on the multi-metric distance information of the top-level object, determine whether the multi-metric distance or the lower bound of the multi-metric distance from the top-level object to the queried house object meets the multi-metric distance threshold. If not, proceed to step S69; otherwise, further calculate the multi-metric distance from the top-level object to the queried house object accurately and determine whether it is less than the multi-metric distance threshold. If it is less, execute steps S62-S68; otherwise, proceed to step S69.

[0138] Specifically, the multi-metric distance information corresponding to the top-level object directly retrieved from the current priority queue may be the actual multi-metric distance to the queried house object, or it may be the lower bound of the multi-metric distance to the queried house object. Therefore, it is first necessary to determine whether the retrieved multi-metric distance information meets the multi-metric distance threshold. If it does not meet the threshold, it means that the actual multi-metric distance or the lower bound of the multi-metric distance does not meet the threshold limit, and the element can be directly filtered during the query. If it meets the threshold, it is necessary to further calculate the actual multi-metric distance from the top-level object to the queried house object accurately and determine whether it meets the threshold. If it does not meet the threshold, the element is also filtered during the query.

[0139] S62: Add the current top-level house object and its corresponding multi-metric distance information to the current level result set;

[0140] S63: If the number of house objects in the current level result set is greater than the set number of nearest neighbors, then remove the last element in the current level result set until the number of house objects in the current level result set is less than or equal to the number of nearest neighbors.

[0141] Specifically, the last element removed each time is the element in the current level result set that is furthest from the queried house object.

[0142] S64: Update the multi-metric distance threshold to the multi-metric distance information corresponding to the last house object in the result set;

[0143] S65: Arbitrarily select an unvisited neighbor object of the current top-level object in each query metric space. If the currently visited neighbor object has not been visited, initialize the single metric distance between the neighbor object and the queried house object in each query metric space to infinity, and mark the neighbor object as visited.

[0144] Specifically, assuming the query weight vector is specified by the user. The query metric space consists of price and geolocation metrics with non-zero weights. Arbitrarily select an unvisited neighbor object within the price or geolocation metric space of the current top-level object. If the currently visited neighbor object has not been accessed, initialize the single metric distance between that neighbor object and the queried house object in the price and geolocation metric space to infinity, and mark that neighbor object as visited.

[0145] S66: Based on the triangle inequality filtering principle, calculate the absolute value of the difference between the multi-metric distance of the current top-level object and the queried house object and the current same-level neighbor object, and use this absolute value as the lower bound of the multi-metric distance of the current same-level neighbor object;

[0146] Specifically, assuming the query weight vector is specified by the user. The query metric space consists of price and geographic location metrics with non-zero weights. In this case, the multiple metric distance is 1 × price metric distance + 1 × geographic location metric distance (both with a weight of 1). Assume the current top-level house object is... The current neighboring houses on the same floor are The property being searched is Then step S66 calculates and Multimetric Distance and The multi-metric distance | and use this value as The lower bound of the multimetric distance, where and The multi-metric distance has been calculated in step S61. Step S66 utilizes the triangle inequality filtering principle. The triangle inequality can be formally expressed as: δ(x, y) ≤ δ(x, z) + δ(z, y), that is, δ(x, z) ≥ |δ(x, z) - δ(z, y)|, where x, y, z, ∈ finite dataset S, and δ(·, ·) is a distance function defined on S. From the above triangle inequality, it can be seen that in step S66, the distance from the current same-level neighbor object to the queried house object is greater than or equal to the absolute value of the difference between the multi-metric distances of the current top-level object and the queried house object and the current same-level neighbor objects. In other words, the absolute value of the difference between the multi-metric distances of the current top-level object and the queried house object and the current same-level neighbor objects is the lower bound of the multi-metric distance of the current same-level neighbor objects. The lower bound of the multi-metric distance obtained according to the triangle inequality can be used to filter elements more conveniently in step S61 to speed up the query.

[0147] S67: If the current neighboring house object on the same floor is not in the current level priority queue, add the object to the level priority queue and set its corresponding multi-metric distance information as the lower bound of the multi-metric distance; if the current neighboring house object on the same floor is already in the current level priority queue, update its corresponding multi-metric distance information to the lower bound of the multi-metric distance.

[0148] S68: Repeat steps S65-S67 until all neighboring house objects on the same floor of the current top-level house object in each query metric space have been traversed.

[0149] Specifically, assuming the query weight vector is specified by the user. The price and geolocation measurement space with non-zero query weights is the query measurement space. That is, repeat steps S65-S67 until all the neighboring house objects on the same floor under the price and geolocation measurement space of the current top-level house object have been traversed.

[0150] S69: Repeat steps S61-S68 until the hierarchy priority queue is empty.

[0151] This method can handle multiple data types simultaneously. A single data type can be modeled within a metric space (data + distance metrics between data points). This method supports near-nearest neighbor search across multiple metric spaces, allowing multiple data types to be modeled simultaneously in different metric spaces, forming a multi-metric space, and enabling joint queries within this space. In a specific example, we use a house object. Describing a complete house object requires four different data types: price, floor plan, location, and reviews. These four data types can be modeled in different metric spaces, forming a multi-metric space. Specifically, the L1 distance between prices constitutes the price metric space; the L2 distance between floor plans constitutes the floor plan metric space; the L2 distance between locations constitutes the location metric space; and the cosine distance between reviews constitutes the review metric space. During the search, weight vectors can be used to control the joint search between different metric spaces. For example, a weight vector of (1,0,0,0) represents searching only the price metric space; a weight vector of (1,0,1,0) represents searching both the price and location metric spaces.

[0152] Corresponding to the aforementioned embodiments of the multi-metric spatial search method for housing rentals based on hierarchical joint graph index, this application also provides embodiments of a multi-metric spatial search apparatus for housing rentals based on hierarchical joint graph index.

[0153] Figure 4 This is a block diagram illustrating a multi-metric spatial search device for housing rentals based on a hierarchical joint graph index, according to an exemplary embodiment. (Refer to...) Figure 4 The device may include:

[0154] The hierarchical joint graph index construction module 21 is used to obtain new house objects, find the k nearest neighbors of the new house objects in each metric space, add undirected edges between the new house objects and their k nearest neighbors in each metric space, and dynamically adjust the graph structure and improve the node distribution by adopting a tree-based splitting and hierarchical update strategy, thereby constructing a hierarchical joint graph index.

[0155] The approximate nearest neighbor search module 22 is used for pruning techniques based on the best priority search strategy, and uses the hierarchical joint graph index to perform multi-metric space approximate nearest neighbor search to obtain approximate k-nearest neighbor objects for a given queried house object.

[0156] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0157] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this application according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0158] Accordingly, this application also provides an electronic device, comprising: one or more processors; a memory for storing one or more programs; and, when the one or more programs are executed by the one or more processors, causing the one or more processors to implement the multi-metric spatial search method for housing rentals based on hierarchical joint graph index as described above. Figure 5 The diagram shown illustrates a hardware structure of any device with data processing capabilities for a multi-metric spatial search method for housing rentals based on a hierarchical joint graph index, as provided in an embodiment of the present invention. (Except for...) Figure 5 In addition to the processor, memory, DMA controller, disk, and non-volatile memory shown, any data processing device in the embodiment may also include other hardware depending on the actual function of the data processing device, which will not be described in detail here.

[0159] Accordingly, this application also provides a computer-readable storage medium storing computer instructions, which, when executed by a processor, implement the multi-metric spatial search method for housing rentals based on a hierarchical federated graph index as described above. The computer-readable storage medium can be an internal storage unit of any data-processing device as described in any of the foregoing embodiments, such as a hard disk or memory. The computer-readable storage medium can also be an external storage device of a wind turbine, such as a plug-in hard disk, smart media card (SMC), SD card, flash card, etc., equipped on the device. Furthermore, the computer-readable storage medium can include both internal storage units of any data-processing device and external storage devices. The computer-readable storage medium is used to store the computer program and other programs and data required by the data-processing device, and can also be used to temporarily store data that has been output or will be output.

[0160] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein.

[0161] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope.

Claims

1. A multi-metric spatial search method for housing rentals based on a hierarchical joint graph index, characterized in that, include: Retrieve new house objects and locate the new house objects in each metric space. The nearest neighbor house objects, in each metric space, are the new house objects and their nearest neighbors. Undirected edges are added to the nearest neighbor house objects. A tree-based splitting and hierarchical update strategy is adopted to dynamically adjust the graph structure and improve the node distribution, thereby constructing a hierarchical joint graph index. The metric space includes price metric space, apartment type metric space, geographic location metric space and review metric space. Based on the pruning technique of the best-first search strategy, the hierarchical joint graph index is used to perform a multi-metric space approximate nearest neighbor search to obtain an approximate nearest neighbor for a given queried house object. - Neighboring houses; Specifically, this involves acquiring new house objects and finding the new house objects in each metric space. The nearest neighbor objects, in each metric space, are the nearest neighbors of the new house object and its neighbor. Undirected edges are added to the nearest neighbor objects. A tree-based splitting and hierarchical update strategy is used to dynamically adjust the graph structure and improve node distribution, thereby constructing a hierarchical joint graph index, including: S21: Get the new house object, current view, -Nearest neighbor parameter and maximum number parameter; S22: Initialize the hierarchy of the new house object to 0, and initialize the update list to an empty set; S23: Randomly select an unvisited metric space as the current metric space for access, set the weight of the current metric space to 1, and set the weight of the other metric spaces to 0. S24: Based on the current weight vector composed of the weights of all current metric spaces and the... -Nearest neighbor parameter, finds new house objects in the current metric space. The nearest neighbor house object, and use this The result set in the current metric space is initialized using the nearest neighbor house objects; S25: Arbitrarily select an unvisited result object from the result set of the current metric space as the current result object, add an undirected edge between the current result object and the new house object in the current metric space, and update the corresponding number of nodes at the same level and the number of nodes at the lower level. S26: If the number of sibling nodes or the number of lower-level nodes of the current result object is greater than the maximum number parameter, and the current result object is not in the update list, then add the current result object to the update list; S27: Repeat steps S25-S26 until all result objects in the current metric space result set have been accessed; S28: Repeat steps S23-S27 until all metric spaces have been visited; S29: Traverse and visit each house object in the update list according to the ascending order of the house object's level, and update the house objects sequentially according to the tree-based splitting and hierarchical update strategy, thereby constructing a hierarchical joint graph index.

2. The method according to claim 1, characterized in that, Following the ascending order of the house objects' hierarchical levels, each house object in the update list is traversed and visited, and the house objects are updated sequentially according to the tree-based splitting and hierarchical update strategy, thereby constructing a hierarchical joint graph index, including: S31: Obtain the lowest-level house object to be updated from the update list in ascending order of the house object's level; S32: If the number of nodes on the same floor and the number of nodes on the lower floor of the house object to be updated are both less than or equal to the maximum number parameter, then no update is performed; if the number of nodes on the lower floor of the house object to be updated is greater than the maximum number parameter, then steps S33-S36 are executed; otherwise, proceed to step S37. S33: Initialize the update list to an empty set; S34: Randomly select an unvisited metric space for access. Under the currently accessed metric space, find the house object closest to the house object to be updated and the house object farthest from the house object based on the multi-metric distance. If the closest house object or the farthest house object is not in the update list, add it to the update list. S35: Repeat step S34 until all metric spaces have been visited; S36: Iterate through all the house objects in the update list, increment the level of each house object in the update list by one, and update the level of the edge associated with each house object; S37: Increment the level number of the house object to be updated by one, and initialize the update list to an empty set; S38: Iterate through each neighboring house object of the house object to be updated in sequence. If the number of nodes at the same level or the number of nodes at the lower level of a neighboring house object is greater than the maximum number parameter and the neighboring house object is not in the update list, then add the neighboring house object to the update list. S39: According to the ascending order of the level where the house objects are located, traverse and visit each house object in the update list as the house object to be updated, and repeat the above steps S32-S38. S310: Iterate through each neighboring house object of each updated house object in the update list. If there is a neighboring house object whose level is greater than or equal to the level of the updated house object, then end the entire process. S311: Determine whether the updated house object can be routed to by the routing object in the graph. If not, add the updated house object to the routing list and obtain the updated and adjusted hierarchical joint graph index.

3. The method according to claim 1, characterized in that, In the process of performing a multi-metric space approximate nearest neighbor search using the hierarchical joint graph index, the search is performed in a top-down order. In each layer, objects are traversed in a breadth-first traversal order, and pruning techniques based on the best-first search strategy are applied.

4. The method according to claim 1, characterized in that, The search proceeds in order from the top level down, including: S51: Get the query house object, query weight vector, number of nearest neighbor houses, and route list; S52: Initialize the result set to an empty set, initialize the hierarchical result set of each level to an empty set, initialize the candidate object priority queue to an empty queue, and initialize the hierarchical candidate object priority queue of each level to an empty queue. S53: Traverse and access each route object in the route list, calculate the single metric distance and the overall multi-metric distance from each route object to the query house object in each query metric space according to the query weight vector, and add each route object and its corresponding multi-metric distance to the candidate object priority queue, wherein the query metric space is set by the query weight vector; S54: Initialize the current layer as the top level of the candidate object priority queue, initialize the result set of the current layer as a set of virtual object elements with an infinite multi-metric distance, and initialize the multi-metric distance threshold to infinity; S55: Retrieve the top-level object in the candidate object priority queue and its corresponding multi-metric distance information, remove it from the candidate object priority queue and add it to the level candidate object priority queue corresponding to the current level, and mark the top-level object as visited; S56: Repeat step S55 until the level number of the top-level object in the priority queue is not equal to the current level number; S57: Following a breadth-first traversal order and using pruning techniques based on the best-first search strategy, traverse the objects in the priority queue of the current level's candidate objects and update the corresponding level result set. S58: Select an unvisited result object from the current level result set and use it to update the result set; S59: Traverse all lower-level neighbors of the current result object in each query metric space and use them to update the candidate object priority column; S510: Repeat steps S58-S59 until all result objects in the current level result set have been traversed. S511: Repeat steps S54-S510 until the priority queue is empty; S512: Clear the visited flags of all objects and output the final result set.

5. The method according to claim 1, characterized in that, The objects are traversed in a breadth-first order, and pruning techniques based on a best-first search strategy are applied, including: S61: Remove the top-level object and its corresponding multi-metric distance information from the current priority queue. Based on the multi-metric distance information of the top-level object, determine whether the multi-metric distance or the lower bound of the multi-metric distance from the top-level object to the queried house object meets the multi-metric distance threshold. If not, proceed to step S69; otherwise, further calculate the multi-metric distance from the top-level object to the queried house object accurately and determine whether it is less than the multi-metric distance threshold. If it is less, execute steps S62-S68; otherwise, proceed to step S69. S62: Add the current top-level object and its corresponding multi-metric distance information to the current level result set; S63: If the number of objects in the current level result set is greater than the set number of nearest neighbor houses, then remove the last element in the current level result set until the number of objects in the current level result set is less than or equal to the number of nearest neighbor houses. S64: Update the multi-metric distance threshold to the multi-metric distance information corresponding to the last object in the result set; S65: Arbitrarily select an unvisited neighbor object of the current top-level object in each query metric space. If the currently visited neighbor object has not been visited, initialize the single metric distance between the neighbor object and the queried house object in each query metric space to infinity, and mark the neighbor object as visited. S66: Based on the triangle inequality filtering principle, calculate the absolute value of the difference between the multi-metric distance of the current top-level object and the queried house object and the current same-level neighbor object, and use this absolute value as the lower bound of the multi-metric distance of the current same-level neighbor object; S67: If the current same-level neighbor object is not in the current level priority queue, add the object to the level priority queue and set its corresponding multi-metric distance information as the lower bound of the multi-metric distance; if the current same-level neighbor object is already in the current level priority queue, update its corresponding multi-metric distance information to the lower bound of the multi-metric distance. S68: Repeat steps S65-S67 until all the peer objects of the current top-level object in each query metric space have been traversed. S69: Repeat steps S61-S68 until the hierarchy priority queue is empty.

6. A hierarchical joint graph index for multiple metrics of housing rentals A space search device, characterized in that, include: The hierarchical joint graph index construction module is used to obtain new house objects and find the new house objects in each metric space. The nearest neighbor objects, in each metric space, are the nearest neighbors of the new house object and its neighbor. Undirected edges are added to the nearest neighbor house objects. A tree-based splitting and hierarchical update strategy is adopted to dynamically adjust the graph structure and improve the node distribution, thereby constructing a hierarchical joint graph index. The metric space includes price metric space, apartment type metric space, geographic location metric space and review metric space. The approximate nearest neighbor search module uses a pruning technique based on a best-priority search strategy to perform a multi-metric space approximate nearest neighbor search using the hierarchical joint graph index, obtaining an approximate nearest neighbor for a given queried house object. - Neighboring houses; This involves acquiring a new house object, finding its nearest neighbor objects in each metric space, and, within each metric space, identifying the nearest neighbor objects of the new house object and their corresponding nearest neighbors. Undirected edges are added to the nearest neighbor objects. A tree-based splitting and hierarchical update strategy is used to dynamically adjust the graph structure and improve node distribution, thereby constructing a hierarchical joint graph index, including: S21: Get the new house object, current view, -Nearest neighbor parameter and maximum number parameter; S22: Initialize the hierarchy of the new house object to 0, and initialize the update list to an empty set; S23: Randomly select an unvisited metric space as the current metric space for access, set the weight of the current metric space to 1, and set the weight of the other metric spaces to 0. S24: Based on the current weight vector composed of the weights of all current metric spaces and the... -Nearest neighbor parameter, finds new house objects in the current metric space. The nearest neighbor house object, and use this The result set in the current metric space is initialized using the nearest neighbor house objects; S25: Arbitrarily select an unvisited result object from the result set of the current metric space as the current result object, add an undirected edge between the current result object and the new house object in the current metric space, and update the corresponding number of nodes at the same level and the number of nodes at the lower level. S26: If the number of sibling nodes or the number of lower-level nodes of the current result object is greater than the maximum number parameter, and the current result object is not in the update list, then add the current result object to the update list; S27: Repeat steps S25-S26 until all result objects in the current metric space result set have been accessed; S28: Repeat steps S23-S27 until all metric spaces have been visited; S29: Traverse and visit each house object in the update list according to the ascending order of the house object's level, and update the house objects sequentially according to the tree-based splitting and hierarchical update strategy, thereby constructing a hierarchical joint graph index.

7. An electronic device, characterized in that, include: One or more processors; Memory, used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-5.

8. A computer-readable storage medium storing computer instructions thereon, characterized in that, When executed by the processor, this instruction implements the steps of the method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Location and keyword information combined online house resource searching method and device

    CN106503223A

  • Approximate nearest neighbor search method combining VP tree and guide nearest neighbor graph

    CN112287185A