Information retrieval method, device, server and readable storage medium
By selecting the central structure index or satellite system graph index based on the number of product feature vectors, the problem of search time and memory usage in the prior art is solved, and efficient product information retrieval is achieved.
Patent Information
- Application Number
- CN202110121208.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-28
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2041-01-28
AI Technical Summary
Existing product information search algorithms cannot take into account both search time and machine memory, resulting in low search efficiency.
Determine the index type based on the total number of product feature vectors, build a central structure index or satellite system graph index, and flexibly select the optimal vector index for search, reducing the vector index establishment time and search time.
Improves retrieval efficiency, avoids waste of machine resources, and improves machine retrieval performance.
Smart Images

Figure CN113761311B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to an information retrieval method, device, server and readable storage medium. Background Art
[0002] With the development of Internet technology, machine learning technology has developed rapidly and has been widely used in recommendation, search and other fields. Users can enter keywords of the required products in the application of mobile terminals, and the server side will search through massive product information through machine learning to obtain products that match user needs.
[0003] In the existing technology, the main algorithms used for search using machine learning include tree algorithms, locality-sensitive hashing algorithms, product quantization algorithms, and nearest neighbor graph algorithms. These algorithms essentially divide the data in high-dimensional space into subspaces, then vectorize them, and obtain search results through vector retrieval.
[0004] However, the search algorithms used in the existing technology often deal with tens of millions of product information. During the search process, some algorithms will occupy a large amount of machine memory in order to shorten the search time, resulting in a decrease in machine performance. Other algorithms reduce the machine memory usage at the expense of search time to ensure stable machine performance. None of the above algorithms can take into account both search time and machine memory, resulting in low efficiency in searching for product information. Summary of the Invention
[0005] The present application provides an information retrieval method, device, server and readable storage medium for solving the problem of low efficiency in existing product information searches.
[0006] In a first aspect, an embodiment of the present application provides an information retrieval method, comprising:
[0007] Obtaining a product feature vector, and determining an index type based on the total number of the product feature vectors, wherein the index type includes a central structure index and a satellite system map index, and the product feature vector is used to represent product information;
[0008] Constructing a vector index of the product feature vector according to the index type;
[0009] Obtaining a target feature vector, performing vector retrieval based on the vector index, and obtaining a product feature vector that matches the target feature vector;
[0010] Product information is obtained according to the product feature vector.
[0011] In a possible design of the first aspect, determining the index type according to the total number of product feature vectors includes:
[0012] When the total number of product feature vectors is less than or equal to a preset threshold, determining that the index type is a central structure index, the central structure index includes a central node and multiple terminal nodes associated with the central node, and each node includes at least one product feature vector;
[0013] When the total number of product feature vectors is greater than the preset threshold, the index type is determined to be a satellite system map index, and the satellite system map index includes a plurality of mutually related nodes and at least one entry node.
[0014] In another possible design of the first aspect, constructing the vector index of the product feature vector according to the index type includes:
[0015] When the index type is determined to be a central structure index, a central node and multiple terminal nodes are determined from multiple nodes, and each node includes at least one product feature vector;
[0016] Each terminal node is associated with the central node to construct a vector index of the product feature vector.
[0017] In another possible design of the first aspect, obtaining a target feature vector and performing vector retrieval according to the vector index to obtain a product feature vector matching the target feature vector includes:
[0018] Obtaining a first similarity distance between the target feature vector and the product feature vector in the central node, and a second similarity distance between the target feature vector and the product feature vector in the terminal node;
[0019] A product feature vector matching the target feature vector is obtained according to the first similarity distance and the second similarity distance.
[0020] In yet another possible design of the first aspect, constructing the vector index of the product feature vector according to the index type includes:
[0021] When it is determined that the index type is a satellite system map index, a neighbor graph is constructed according to a preset approximate nearest neighbor algorithm, wherein the neighbor graph includes a plurality of associated nodes, and each node includes at least one product feature vector;
[0022] An entry node is determined from a plurality of nodes of the neighbor graph, and a vector index of the product feature vector is obtained.
[0023] In yet another possible design of the first aspect, determining an entry node from a plurality of nodes in the neighbor graph to obtain a vector index of the product feature vector includes:
[0024] Select at least two nodes from a plurality of nodes in the neighbor graph as entry nodes;
[0025] Performing node edge selection on the neighbor graph to generate an adjacency matrix;
[0026] Connectivity expansion is performed on the neighbor graph to obtain a vector index of the product feature vector.
[0027] In another possible design of the first aspect, before constructing the neighbor graph according to the preset approximate nearest neighbor algorithm, the method further includes:
[0028] The same product feature vector is extracted from multiple product feature vectors and stored in the same node.
[0029] In yet another possible design of the first aspect, obtaining a target feature vector and performing vector retrieval according to the vector index to obtain a product feature vector that matches the target feature vector includes:
[0030] Taking the entry node as the initial node;
[0031] Obtaining a similarity distance between the target feature vector and the product feature vector in the initial node;
[0032] When the similarity distance does not match the preset distance, the next node close to the initial node is used as the initial node, and the process proceeds to the step of obtaining the similarity distance between the target feature vector and the product feature vector in the initial node.
[0033] In yet another possible design of the first aspect, before obtaining the target feature vector and performing vector retrieval according to the vector index to obtain a product feature vector matching the target feature vector, the method further includes:
[0034] Searching the sample feature vector according to the satellite system map index to obtain a first search result;
[0035] Searching the sample feature vector according to a preset search tool to obtain a second search result;
[0036] Comparing the first search result with the second search result to obtain a comparison result;
[0037] The accuracy of the satellite system map index is checked according to the comparison result.
[0038] In yet another possible design of the first aspect, before obtaining the product feature vector, the method further includes:
[0039] Store product feature vectors offline;
[0040] Obtain updated data of the product feature vector and update the product feature vector stored offline.
[0041] In yet another possible design of the first aspect, obtaining the product feature vector includes:
[0042] Parsing the product feature vector to obtain the dimension of the product feature vector;
[0043] When the dimension of the product feature vector is the same as the preset dimension, obtaining the parsed product feature vector;
[0044] When the dimension of the product feature vector is different from the preset dimension, the product feature vector is cleared.
[0045] In yet another possible design of the first aspect, before obtaining the target feature vector and performing vector retrieval according to the vector index to obtain a product feature vector matching the target feature vector, the method further includes:
[0046] Storing the vector index offline;
[0047] Acquire update data of the vector index and update the vector index stored offline.
[0048] In a second aspect, an embodiment of the present application provides an information retrieval device, comprising:
[0049] a vector acquisition module, configured to acquire at least two product feature vectors, and determine an index type based on the total number of product feature vectors, wherein the index type includes a central structure index and a satellite system map index, and the product feature vectors are used to represent product information;
[0050] A construction module, configured to construct a vector index of the product feature vector according to the index type;
[0051] A matching module is used to obtain a target feature vector, perform vector retrieval based on the vector index, and obtain a product feature vector that matches the target feature vector;
[0052] The information acquisition module is used to acquire product information based on the product feature vector.
[0053] In a third aspect, an embodiment of the present application provides a server, comprising a memory and at least one processor;
[0054] The memory stores computer-executable instructions;
[0055] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the method described above.
[0056] In a fourth aspect, an embodiment of the present application provides a readable storage medium having a computer program stored thereon, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to implement the method described above when executed by a processor.
[0057] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program / instruction, which implements the above method when executed by a processor.
[0058] The information retrieval method, device, server, and readable storage medium provided in the embodiments of the present application can flexibly construct different types of vector indexes based on the total number of product feature vectors representing product information, and use different types of vector indexes for retrieval to obtain product information. This can optimize the vector index construction process and the vector retrieval process, shorten the vector index construction time and the vector retrieval time, reduce the time spent on the entire product information retrieval process, and improve retrieval efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] Figure 1 A schematic diagram of a scenario of the information retrieval method provided in an embodiment of the present application;
[0060] Figure 2 A flowchart of the information retrieval method provided in an embodiment of the present application;
[0061] Figure 3 A schematic diagram of the structure of the central structure index provided in an embodiment of the present application;
[0062] Figure 4 A schematic diagram of the structure of a satellite system map index provided in an embodiment of the present application;
[0063] Figure 5 A schematic diagram of the structure of the vector search process provided in an embodiment of the present application;
[0064] Figure 6 A schematic diagram of the structure of the first embodiment of the information retrieval device provided in the embodiments of the present application;
[0065] Figure 7 A schematic diagram of the structure of a second embodiment of the information retrieval device provided in an embodiment of the present application;
[0066] Figure 8 A schematic diagram of the process of constructing a satellite system map index provided in an embodiment of the present application;
[0067] Figure 9 A schematic diagram of the structure of the server provided in an embodiment of the present application. DETAILED DESCRIPTION
[0068] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0069] With the development of big data on the Internet, various behavioral information of users on the Internet can be systematically analyzed to obtain the user's interests and hobbies, and then targeted product recommendations can be made based on the user's interests and hobbies to promote the purchase conversion rate of products. However, existing Internet platforms (such as online shopping platforms) often include many different types of products, which makes the product information very large. In order to quickly find the products that users are interested in from the numerous products, general Internet platforms will use online search technology to combine the user's behavioral characteristics in real time to retrieve the products that users are interested in from the massive products, and recommend the product information to users to facilitate their selection and purchase.
[0070] The retrieval technology used in the existing technology is mainly vectorized retrieval technology, which vectorizes product information and then, given a vector data set, retrieves the K vectors (K is a positive integer) closest to the query vector. In the vectorized retrieval process, according to different retrieval methods, it can be divided into nearest neighbor retrieval (NNS) and approximate nearest neighbor retrieval (ANNS). The nearest neighbor retrieval uses the product feature vector to calculate the distance between each vector in the data set. The calculation result is accurate, but it cannot meet the requirements of massive high-dimensional real-time retrieval. The approximate nearest neighbor indexes the vector under acceptable accuracy conditions, improves the retrieval efficiency at the expense of accuracy, and solves the retrieval performance requirements of large-scale vector retrieval in the production environment. Online retrieval technology mainly uses the latter for vector retrieval, which mainly includes tree-based retrieval, hash-based retrieval (such as Local Sensitive Hashing (LSH)), product quantization-based retrieval (such as Product Quantization (PQ) Quantization) and graph-based retrieval (such as the nearest neighbor graph algorithm (HNSW, Hierarchical Navigable Small World)).
[0071] Among them, as the vector dimension increases, the overhead of computing the partitioned space for tree-based retrieval will increase significantly, which will reduce the efficiency of index construction and retrieval performance, and may also lose a large number of vectors similar to the target, reducing the accuracy of retrieval; hash-based retrieval requires the establishment of a large number of hash tables, which will take up a lot of machine memory, affect the service performance of the server, and cannot be applied to online retrieval; product quantization-based retrieval is prone to miss some potential vectors that are close to the product feature vector in high-dimensional vector retrieval, affecting the retrieval accuracy; and graph-based retrieval cannot guarantee that the shortest edge exists in the graph when building the index, and detours are prone to occur during the retrieval process, consuming machine resources and reducing retrieval performance.
[0072] In response to the above problems, the embodiments of the present application provide an information retrieval method, device, server and readable storage medium, the main ideas of which are as follows: first, the product information is converted into a product feature vector, and then the total number of product feature vectors is determined. A central structure index or a satellite system map index is established based on the total number. The optimal vector index can be flexibly selected to establish the optimal vector index, which can reduce the time spent on vector index establishment. At the same time, the vector index is retrieved according to the target feature vector to obtain product information. Using the optimal vector index for retrieval can improve the machine's retrieval performance, avoid waste of machine resources, and improve retrieval efficiency.
[0073] Figure 1 A schematic diagram of a scenario of the information retrieval method provided in an embodiment of the present application, such as Figure 1 As shown, the terminal 11 and the server 12 are included. The terminal 11 can be a mobile terminal (such as a mobile phone). When a user uses a mobile phone to open a shopping application, he can browse products, click on products, add products to the shopping application, and purchase products, etc. The server 12 can collect these relevant behavioral data of the user in the background, analyze and determine the user's product preferences, and then find the user's preferred products from the product library and push them to the display interface of the terminal 11 for the user to browse and view.
[0074] Exemplarily, other types of application software may be installed in the terminal 11. When a user uses such application software, the server 12 may collect statistics on the user's behavior characteristics in the background and push product information preferred by the user based on the user's behavior characteristics.
[0075] For example, the product information includes products preferred by the user and coupon information, price reduction information, inventory information, etc. of the product.
[0076] The technical solution of the present application is described in detail below through specific embodiments. It should be noted that the following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0077] Figure 2 A flow chart of the information retrieval method provided in the embodiment of the present application is shown as follows: Figure 2 As shown, the method can be applied to a server or other processing devices. Taking the server as the execution subject as an example, the method may specifically include the following steps:
[0078] S201: Obtain product feature vectors, and determine the index type according to the total number of product feature vectors.
[0079] Among them, the index types include central structure index and satellite system map index, and the product feature vector is used to represent product information.
[0080] In the embodiment of the present application, the total number of product feature vectors is different, the corresponding index types are different, and the subsequently constructed vector indexes are also different. Each product feature vector can represent a product information. The product information may include the product's minimum inventory unit identifier (SKU, Stock keeping Unit) and the product's price information, etc. When there is more product information, the corresponding total number of product feature vectors is larger. When the amount of product information is small, the corresponding product feature vectors are smaller. For example, the amount of product information can reach tens of millions or hundreds of millions.
[0081] Exemplarily, two quantity intervals may be set. When the total number of product feature vectors is within one of the quantity intervals, the index type is determined to be a central structure index; and when the total number of product feature vectors is within the other quantity interval, the index type is determined to be a satellite system map index.
[0082] In this embodiment, a central structure index refers to an index with a central node, with all other nodes associated with the central node. Each node can store a product feature vector. When performing a vector search, the search starts with the central node and then traverses the other nodes associated with the central node in sequence. The satellite system graph index (SSG) is an index constructed using the approximate nearest neighbor concept. It includes at least one entry node and multiple other nodes, and the nodes are associated with each other using the approximate nearest neighbor concept.
[0083] For example, Figure 3 A schematic diagram of the structure of the central structure index provided in the embodiment of the present application is shown as follows: Figure 3 As shown, it includes a central node 31 and end nodes 32 associated with the central node.
[0084] Figure 4 A schematic diagram of the structure of the satellite system map index provided in the embodiment of the present application is shown as follows: Figure 4 As shown, it includes a plurality of nodes 41 and at least one entry node 42 that are associated with each other.
[0085] S202: Construct a vector index of the product feature vector according to the index type.
[0086] Exemplarily, when the index type is determined to be a central structure index, the central structure index is constructed as a vector index, which includes multiple nodes, and each node can store different product feature vectors; when the index type is determined to be a satellite system map index, the satellite system map index is constructed as a vector index, which has more nodes and can store more product feature vectors.
[0087] S203: Obtain a target feature vector, perform vector retrieval based on the vector index, and obtain a product feature vector that matches the target feature vector.
[0088] Exemplarily, the target feature vector can be a vector used to characterize the products preferred by the user, which can be obtained by vectorizing the user's behavior. For example, after vectorizing the user's browsing behavior, clicking behavior, adding to cart behavior, searching behavior, and purchasing behavior, etc., the vector of the user's preferred products is obtained as the target feature vector.
[0089] In this embodiment, the vector index can be a central structure index or a satellite system map index, both of which cover all product feature vectors. By retrieving the product feature vectors in the vector index, a product feature vector matching the target feature vector can be obtained. Exemplarily, the product feature vector matching the target feature vector can be one or more.
[0090] For example, when performing vector retrieval, the retrieval method corresponding to the central structure index is traversal, that is, traversal retrieval of the central node and the terminal node, while the retrieval method corresponding to the satellite system map index is to use the approximate nearest neighbor idea to search each node. It first searches from the entry node, and then searches other nodes associated with the entry node based on the approximate nearest neighbor idea. The average retrieval time for the satellite system map index to retrieve the product feature vector that matches the target feature vector is shorter than the average retrieval time for the central structure index.
[0091] For example, the distance between the target feature vector and the product feature vector in each node may be compared. When the distance between the target feature vector and the product feature vector is less than a preset value, it indicates that the product feature vector matches the target feature vector.
[0092] S204: Acquire product information based on the product feature vector that matches the target feature vector.
[0093] Specifically, each product feature vector corresponds to the product information of a product. For example, taking a keyboard as a product, the brand, color, performance and other product information of the keyboard can be combined to form a SKU ID. After vectorization, the SKU ID becomes the product feature vector corresponding to the keyboard, and the product information of the keyboard can also be found through the SKU ID.
[0094] The embodiment of the present application determines different types of indexes by obtaining the total number of product feature vectors, thereby constructing an optimal vector index that best suits the current product feature vector. The product feature vector that matches the target feature vector is retrieved based on the optimal vector index, which can reduce the time spent on establishing the vector index. Using the optimal vector index during retrieval can also improve the machine's retrieval performance, avoid wasting machine resources, and improve retrieval efficiency.
[0095] For example, in some embodiments, the step S201 of “determining the index type according to the total number of product feature vectors” may specifically include the following steps:
[0096] When the total number of product feature vectors is less than or equal to a preset threshold, the index type is determined to be a central structure index; when the total number of product feature vectors is greater than the preset threshold, the index type is determined to be a satellite system map index.
[0097] Among them, the central structure index includes a central node and multiple terminal nodes associated with the central node, a node includes at least one product feature vector, and the satellite system map index includes multiple mutually related nodes and at least one entry node.
[0098] Exemplarily, the preset threshold can be set according to actual conditions. For example, the preset threshold can be 200. When the total number of product feature vectors is greater than 200, the satellite system map index is used. When the total number of product feature vectors is less than 200, the central structure index is used.
[0099] The embodiment of the present application compares the total number of product feature vectors with a preset threshold. When the total number is small, a central structure index is established to reduce the time spent on index establishment. When the total number is large, a satellite system map index is established. The satellite system map index can improve the server's retrieval performance, avoid large-scale occupation of server performance resources, and improve the efficiency of online retrieval.
[0100] In some embodiments, when constructing a vector index of a product feature vector, when the index type is determined to be a central structure index, a central node and multiple end nodes can be determined from multiple nodes, and each end node can be associated with the central node to obtain the vector index of the product feature vector.
[0101] In this embodiment, the vector index of the product feature vector obtained at this time is the central structure index. For example, the number of nodes can correspond to the total number of product feature vectors, that is, each node can store a corresponding product feature vector. There is only one central node in the central structure index, and all other nodes are end nodes, and each end node is associated with the central node.
[0102] For example, the product feature vector has dimensions. Taking 128 dimensions as an example, when the total number of product features is very large, reaching tens of millions or even hundreds of millions, due to the limitation of dimension, the same product feature vectors may be stored. At this time, multiple identical product feature vectors can be stored in each node. When the product feature vector in the node is retrieved and matches the target feature vector, the product information corresponding to these product feature vectors will be obtained.
[0103] The embodiment of the present application constructs a central structure index by determining a central node and other terminal nodes associated with the central node, which can effectively reduce the time spent on constructing the vector index, increase the speed of constructing the vector index, shorten the time of the entire product information retrieval process, and improve retrieval efficiency.
[0104] Furthermore, in some embodiments, if a central structure index is constructed, the above-mentioned step S203 may specifically include the following steps: obtaining a first similarity distance between the target feature vector and the product feature vector in the central node, and a second similarity distance between the target feature vector and the product feature vector in the end node; and obtaining a product feature vector that matches the target feature vector based on the first similarity distance and the second similarity distance.
[0105] Specifically, the distance between the target feature vector and the product feature vector can be calculated using a common vector formula. The similarity between the target feature vector and the product feature vector can be determined by the distance, thereby determining whether the target feature vector and the product feature vector match.
[0106] For example, when using the central structure index for retrieval, the product feature vector in the central node can be compared with the target feature vector to see if they match, and then the product feature vectors in the terminal nodes can be traversed to retrieve the product feature vector that matches the target feature vector.
[0107] Exemplarily, a threshold can be preset. When the similarity distance is less than the threshold, it means that the product feature vector in the node matches the target feature vector. When the similarity distance is greater than or equal to the threshold, it means that the product feature vector in the node does not match the target feature vector.
[0108] The embodiment of the present application compares the product feature vectors in the central node and the end node, obtains the similarity distance to determine whether the product feature vector in the central node or the end node matches the target feature vector, and can accurately obtain the product feature vector that matches the target feature vector, thereby improving the accuracy of the retrieval.
[0109] Optionally, in some embodiments, when the index type is determined to be a satellite system map index, a neighbor graph can be constructed based on a preset approximate nearest neighbor algorithm; and an entry node can be determined from multiple nodes of the neighbor graph to obtain a vector index of the product feature vector.
[0110] The neighbor graph includes multiple associated nodes, and one node includes at least one product feature vector.
[0111] For example, a node may also include multiple identical product feature vectors, and these identical product feature vectors represent the same SKU ID. For example, each piece of product information corresponds to a SKU ID. When there is a lot of product information, the same SKU ID may exist, which will cause the product feature vectors representing the SKU ID to be the same.
[0112] In this embodiment, the neighbor graph includes multiple mutually related nodes, and the number of nodes can correspond to the total number of product feature vectors, that is, at least one product feature vector is stored in each node. The preset approximate nearest neighbor algorithm refers to associating the nodes storing two product feature vectors with similar distances with each other based on the distance between the product feature vectors stored in each node. The entry node is the entry for retrieval, that is, when performing vector retrieval, first search whether the product feature vector in the entry node matches the target feature vector.
[0113] By constructing a satellite system map index of product feature vectors, the embodiment of the present application can avoid the server from traversing and searching the product feature vectors in each node when the total number of product feature vectors is large, thereby shortening the search time and improving the search efficiency.
[0114] For example, in some embodiments, the above-mentioned “determining an entry node from multiple nodes in the neighbor graph and obtaining a vector index of a product feature vector” may specifically include the following steps:
[0115] At least two nodes are selected from multiple nodes of the neighbor graph as entry nodes; node edges are selected on the neighbor graph to generate an adjacency matrix; and connectivity expansion is performed on the neighbor graph to obtain a vector index of a product feature vector.
[0116] Specifically, the neighbor graph includes multiple nodes. Nodes need to be connected through node edge selection to generate an adjacency matrix, and then connectivity expansion is performed to connect the associated nodes for subsequent retrieval. During the subsequent retrieval, the product feature vector in the entry node will be retrieved first, and then the product feature vector in the node associated with the entry node will be retrieved.
[0117] By selecting multiple entry nodes, the embodiment of the present application can simultaneously search from multiple entry nodes when performing vector search, thereby reducing the number of calculations between vectors, finding product feature vectors that match the target feature vector more quickly, and improving search efficiency.
[0118] Furthermore, in some embodiments, according to a preset approximate nearest neighbor algorithm, before constructing a neighbor graph, the same product feature vector can be extracted from multiple product feature vectors and stored in the same node.
[0119] Specifically, product information can be represented by a SKU ID. When there is a large amount of product information, such as tens of millions or hundreds of millions of product information, the same SKU ID may exist, which will cause the product feature vectors representing the product information to be the same. After storing these identical product feature vectors in the same node, the identical product feature vectors in the node will be extracted during subsequent retrieval, thereby retrieving multiple identical SKU IDs.
[0120] The embodiment of the present application can achieve data deduplication, avoid repeated retrieval, and improve retrieval efficiency by storing multiple identical product feature vectors in the same node.
[0121] Furthermore, in some embodiments, if the satellite system map index is constructed, the above step S203 can be specifically implemented by the following steps:
[0122] Use the entry node as the initial node;
[0123] Obtain the similarity distance between the target feature vector and the product feature vector in the initial node;
[0124] When the similarity distance does not match the preset distance, the next node closest to the initial node is used as the initial node, and the process proceeds to the step of obtaining the similarity distance between the target feature vector and the product feature vector in the initial node;
[0125] When the similarity distance matches the preset distance, the product feature vector in the initial node is obtained as the product feature vector that matches the target feature vector.
[0126] Specifically, the preset distance can be set according to actual conditions. The constructed satellite system map index may include multiple entry nodes. When performing vector retrieval, the entry node is used as the starting node, the entry node is first retrieved, and the next node close to the entry node is used as the node to be retrieved. When the product feature vector matching the target feature vector is not retrieved in the entry node, the search is continued at the next node, and so on until a product feature vector matching the target feature vector is retrieved.
[0127] For example, nodes are associated with each other based on the approximate nearest neighbor concept, that is, if the distance between the product feature vector in the current node and the product feature vector in the next node is close, then the current node is associated with the next node. At this time, the next node is close to the current node. Figure 5 A schematic diagram of the structure of the vector search process provided in the embodiment of the present application is shown as follows: Figure 5 As shown, the vector index is a satellite system map index, which may include two entry nodes, namely entry node 51 and entry node 52. When performing vector retrieval, the entry node is first retrieved, and then according to the approximate nearest neighbor idea, the nearest node among the nodes associated with the entry node is found as the node to be retrieved, and the node to be retrieved is continued to be retrieved, and then according to the approximate nearest neighbor idea, the nearest node among the nodes associated with the node to be retrieved is found as the next node to be retrieved, and so on. The retrieval is finally carried out, and four target nodes matching the target feature vector are obtained, namely target node 53.
[0128] The embodiment of the present application starts searching from the entry node of the satellite system map index and finally obtains the product feature vector that matches the target feature vector. This can avoid traversal searching of all nodes, avoid occupying a large amount of server performance resources, improve search efficiency, and provide fast and accurate search results for online real-time search.
[0129] For example, in some embodiments, the following steps may be included before step S203:
[0130] Searching the sample feature vector according to the satellite system map index to obtain a first search result;
[0131] Searching the sample feature vector according to a preset search tool to obtain a second search result;
[0132] Comparing the first search result with the second search result to obtain a comparison result;
[0133] The accuracy of the satellite system map index is tested based on the comparison results.
[0134] Specifically, the preset search tool can be a high-precision search tool. For example, the preset search tool can be used to traverse and search all product feature vectors to obtain product feature vectors that match the sample feature vector. As the second search result, the first search result obtained by searching the sample feature vector through the satellite system map index includes product feature vectors that match the sample feature vector. The two search results are compared to obtain a comparison result. The comparison result can be the degree of overlap. For example, when the degree of overlap between the first search result and the second search result reaches 95%, it is determined that the accuracy of the satellite system map index is good and can be used for subsequent searches. When the degree of overlap between the first search result and the second search result is less than 95%, it is determined that the accuracy of the satellite system map index is poor, the data will be discarded, and an alarm will be output.
[0135] The embodiment of the present application can avoid inaccurate retrieval results and improve retrieval efficiency by detecting the retrieval accuracy of the satellite system map index.
[0136] For example, in some embodiments, the following steps may be further included before step S201:
[0137] Store product feature vectors offline;
[0138] Obtain updated data of the product feature vector and update the product feature vector stored offline.
[0139] Specifically, when the number of product feature vectors is large, the server can write the product feature vectors to the network disk, and directly retrieve them from the network disk when needed. At the same time, the product feature vectors written in the network disk also need to be updated in real time. The updated data can be different versions of data, and the data version is maintained every time it is updated.
[0140] The embodiment of the present application can ensure the real-time nature of product information and improve the accuracy of retrieval by updating the offline stored product feature vectors. At the same time, when retrieval is required, the offline stored product feature vectors can be directly called to improve the data response speed.
[0141] Furthermore, in some embodiments, the "obtaining product feature vector" in the above step S201 may specifically include the following steps:
[0142] Analyze the product feature vector to obtain the dimension of the product feature vector;
[0143] When the dimension of the product feature vector is the same as the preset dimension, obtaining the parsed product feature vector;
[0144] When the dimension of the product feature vector is different from the preset dimension, an alarm message is output.
[0145] Specifically, each product feature vector has a dimension. For example, a 2-dimensional vector can be expressed as (x, y), and a 3-dimensional vector can be expressed as (x, y, z). The preset dimension can be 128 dimensions, which can be determined based on the total number of product feature vectors. When the dimension of the offline stored product feature vectors is 128 dimensions, these product feature vectors are retained. When it is not 128 dimensions, the data of the entire current version is discarded and an alarm message is output. Exemplarily, the alarm message can be a voice prompt or a text prompt.
[0146] The embodiment of the present application detects the dimension of the product feature vector to avoid the situation where the product feature vector in the vector index cannot be compared with the target feature vector during subsequent retrieval, avoids failures in the vector retrieval process, and improves retrieval efficiency.
[0147] For example, in some embodiments, before the above step S203, the following steps may be further included:
[0148] Store vector indexes offline;
[0149] Get updated data of the vector index and update the vector index stored offline.
[0150] Specifically, the vector index includes the central structure index and the satellite system map index. The constructed vector index can be written to the network disk for offline storage and called from the offline storage when retrieval is required. At the same time, the vector index written to the network disk also needs to be updated in real time. The updated data of the vector index includes different versions of data. By comparing the version numbers, the offline stored vector index is updated, and the version information of the vector index is maintained after each update.
[0151] For example, when a vector index stored offline needs to be called, a double buffering technique can be used to load the index file in the network disk into the server memory for subsequent vector retrieval.
[0152] The embodiment of the present application stores the established vector index offline in a network disk and updates the vector index in the network disk in real time, which makes it convenient for the server to directly call it when vector retrieval is needed, ensuring the accuracy and real-time performance of the retrieval and providing protection for online retrieval.
[0153] In summary, the embodiment of the present application converts product information into product feature vectors, constructs a corresponding vector index based on the total number of product feature vectors, and searches for the target feature vector through the constructed vector index to obtain the product feature vector that matches the target feature vector, thereby obtaining the corresponding product information, which can improve the efficiency of online real-time retrieval.
[0154] The following are device embodiments of the present application, which can be used to implement the method embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application.
[0155] Figure 6 This is a structural diagram of the first embodiment of the information retrieval device provided in the embodiment of the present application, as shown in FIG. Figure 6 As shown, the information retrieval device 60 includes a vector acquisition module 61, a construction module 62, a matching module 63 and an information acquisition module 64, wherein:
[0156] The vector acquisition module 61 is used to acquire product feature vectors and determine the index type according to the total number of product feature vectors.
[0157] The construction module 62 is used to construct a vector index of the product feature vector according to the index type.
[0158] The matching module 63 is used to obtain a target feature vector, perform vector retrieval according to a vector index, and obtain a product feature vector that matches the target feature vector.
[0159] The information acquisition module 64 is used to acquire product information based on the product feature vector.
[0160] Among them, the index types include central structure index and satellite system map index, and the product feature vector is used to represent product information.
[0161] In some embodiments, the vector acquisition module 61 can be specifically used to determine that the index type is a central structure index when the total number of product feature vectors is less than or equal to a preset threshold, and to determine that the index type is a satellite system map index when the total number of product feature vectors is greater than the preset threshold.
[0162] Among them, the central structure index includes a central node and multiple terminal nodes associated with the central node, a node includes at least one product feature vector, and the satellite system map index includes multiple mutually related nodes and at least one entry node.
[0163] In some embodiments, the construction module 62 can be specifically used to determine a central node and multiple terminal nodes from multiple nodes when the index type is determined to be a central structure index; associate each terminal node with the central node respectively to obtain a vector index of the product feature vector.
[0164] In some embodiments, the matching module 63 can be specifically used to obtain the similarity distance between the target feature vector and the product feature vector in the central node, as well as the similarity distance between the target feature vector and the end node; based on the similarity distance, a product feature vector matching the target feature vector is obtained.
[0165] Optionally, in some embodiments, the construction module 62 can be specifically used to construct a neighbor graph according to a preset approximate nearest neighbor algorithm when the index type is determined to be a satellite system map index; determine the entry node from multiple nodes of the neighbor graph to obtain a vector index of the product feature vector.
[0166] The neighbor graph includes multiple associated nodes, and one node includes at least one product feature vector.
[0167] In some embodiments, the construction module 62 can be specifically used to select at least two nodes from multiple nodes in the neighbor graph as entry nodes; perform node edge selection on the neighbor graph to generate an adjacency matrix; and perform connectivity expansion on the neighbor graph to obtain a vector index of a product feature vector.
[0168] In some embodiments, the information retrieval device may further include a deduplication module for extracting identical product feature vectors from multiple product feature vectors and storing the extracted identical product feature vectors in the same node.
[0169] In some embodiments, the matching module 63 can be specifically used to take the entry node as the initial node; obtain the similarity distance between the target feature vector and the product feature vector in the initial node; when the similarity distance does not match the preset distance, take the next node close to the initial node as the initial node, and proceed to the step of obtaining the similarity distance between the target feature vector and the product feature vector in the initial node; when the similarity distance matches the preset distance, obtain the product feature vector in the initial node as the product feature vector matching the target feature vector.
[0170] In some embodiments, the information retrieval device may further include a detection module for searching the sample feature vector according to the satellite system map index to obtain a first search result; searching the sample feature vector according to a preset search tool to obtain a second search result; comparing the first search result with the second search result to obtain a comparison result; and performing accuracy detection on the satellite system map index according to the comparison result.
[0171] In some embodiments, the information retrieval device may further include a vector updating module configured to store the product feature vector offline; obtain update data of the product feature vector, and update the offline stored product feature vector.
[0172] Optionally, in some embodiments, the vector acquisition module 61 can be specifically used to parse the product feature vector and obtain the dimension of the product feature vector; when the dimension of the product feature vector is the same as the preset dimension, obtain the parsed product feature vector; when the dimension of the product feature vector is different from the preset dimension, output an alarm message.
[0173] In some embodiments, the information retrieval apparatus may further include an index updating module configured to store the vector index offline; obtain update data of the vector index, and update the offline stored vector index.
[0174] The device provided in the embodiments of the present application can be used to execute the method in the above embodiments. Its implementation principle and technical effects are similar and will not be repeated here.
[0175] It should be noted that it should be understood that the division of the various modules of the above device is merely a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. Moreover, these modules can all be implemented in the form of software called by a processing element; or they can all be implemented in the form of hardware; or some modules can be implemented in the form of software called by a processing element, and some modules can be implemented in the form of hardware. For example, the matching module can be a separately established processing element, or it can be integrated into a chip of the above device. In addition, it can also be stored in the memory of the above device in the form of program code, and called by a processing element of the above device to perform the functions of the above matching module. The implementation of other modules is similar. In addition, these modules can all or partly be integrated together, or they can be implemented independently. The processing element here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each of the above modules can be completed by the hardware integrated logic circuit in the processor element or by instructions in the form of software.
[0176] For example, the above modules may be one or more integrated circuits configured to implement the above methods, such as one or more application specific integrated circuits (ASICs), one or more digital signal processors (DSPs), or one or more field programmable gate arrays (FPGAs). For another example, when a module is implemented by scheduling program code on a processing element, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call program code. For another example, these modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0177] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)).
[0178] Figure 7 This is a structural diagram of the second embodiment of the information retrieval device provided in the embodiment of the present application, as shown in FIG. Figure 7 As shown, the information retrieval device includes a product data module 71, a product index module 72 and a product retrieval module 73, wherein:
[0179] The product data module 71 is used to store all product information, convert all product information into corresponding product feature vectors, store these product feature vectors offline to a network disk, and update the product feature vectors in the network disk in real time.
[0180] The product index module 72 is used to establish corresponding vector indexes for all product feature vectors, provide the established vector indexes to the online search module 73, and perform real-time data updates on the vector indexes.
[0181] Exemplarily, the product index module 72 specifically includes a resource scheduling unit 721 , a data parsing unit 722 , an index creation unit 723 and an index file unit 724 .
[0182] The resource scheduling unit 721 may be configured to perform real-time polling on the product feature vectors stored in the network disk, determine whether there is data update, and load the latest version of the product feature vectors from the network disk.
[0183] The data parsing unit 722 can parse the loaded product feature vector according to the communication protocol, and check the dimension of the product feature vector during the parsing process. If the dimension does not meet the requirements, the product feature vector of this version is discarded and an alarm message is issued.
[0184] The index building unit 723 builds a corresponding vector index for the parsed product feature vectors, and determines whether to build a central structure index or a satellite system map index based on the total number of product feature vectors.
[0185] Figure 8 A schematic diagram of the process of constructing a satellite system map index provided in an embodiment of the present application is shown in FIG. Figure 8 As shown, it includes the following steps: S801, data loading and parsing; S802, building a thread pool; S803, data deduplication; S804, building a neighbor graph; S805, determining the entry node; S806, performing node edge selection; S807, generating an adjacency matrix; S808, performing connectivity verification.
[0186] Specifically, for massive product data, the advertising index module 72 will build a satellite system map index after loading and parsing the product vector data. The process of building a satellite system map index includes data deduplication, building a neighbor graph of the full data, selecting entry nodes, node edge selection, building an adjacency matrix, connectivity expansion, etc. For product data sets, it may be necessary to build multiple graphs for one piece of data based on business needs. In the index construction process, multi-threaded parallel data processing is used to build multiple satellite system map indexes in parallel.
[0187] In the satellite system graph index structure, the SSGIndex structure manages each graph index IndexSSGGraph through unordered_map, and records the dimension emb_dim of the vector data and the version information of each graph index. The item_number in IndexSSGGraph records the data volume of the current vector index. In the case of massive product data, different products may have the same product feature vector. The same_emb_item_id_map is used to store the correspondence between products and node numbers. The master_item_vec stores the embedding information of each node, the entrance_node_vec stores the entry node of the index, the metric specifies the evaluation method of the vector distance (for example, inner product, Euclidean distance, or cosine value can be selected), and the final_graph stores the final generated graph index structure.
[0188] The index file unit 724 is responsible for detecting whether the generated vector index meets the recall rate requirements. Specifically, a preset search tool can be used to search the sample feature vector to obtain the search results, and then the search results of the vector index are judged to determine whether the recall rate meets the requirements. If it meets the requirements, the vector index is generated into a dump file according to the communication protocol and uploaded to the network disk for loading by the product retrieval module 73. If it does not meet the recall rate requirements, the data update is abandoned and an alarm message is issued.
[0189] The product retrieval module 73 is used to receive requests from upstream services, quantify the target feature vector based on the user's behavioral characteristics, then retrieve the established vector index, sort the target feature vector based on the distance between the target feature vector and the product feature vectors in each node in the vector index, determine the product information corresponding to the top N product feature vectors (N is a positive integer), and return this product information to the upstream service.
[0190] Exemplarily, the product search module 73 may include a resource acquisition unit 731, an index loading unit 732, a calculation unit 733 and a vector search unit 734, wherein:
[0191] The resource acquisition unit 731 may be configured to detect whether the vector index written to the network disk by the advertisement index module 72 is updated, so as to create a thread to load the latest version of the vector index.
[0192] The index loading module 732 is used to load the latest version of the vector index in the network disk into the server memory. Exemplarily, a double buffer technology can be used to load the latest version of the vector index in the network disk into the server memory.
[0193] The calculation unit 733 is used to obtain a target feature vector according to the user's behavior characteristics.
[0194] The vector retrieval unit 734 is used to retrieve the vector index according to the target feature vector, obtain one or more product feature vectors similar to the target feature vector, and output the product information represented by these product feature vectors to the upstream service.
[0195] Optional, Figure 9 A structural diagram of a server provided in an embodiment of the present application, wherein the server 90 includes a memory 901 and at least one processor 902, the memory 901 stores computer-executable instructions, and the server also includes a bus 903, wherein the memory 901 is connected to the processor 902 via the bus 903.
[0196] In a specific implementation process, at least one processor 902 executes the computer-executable instructions stored in the memory 901, so that the at least one processor 902 performs the steps of the above method.
[0197] The specific implementation process of the processor 902 can be found in the above method embodiment. Its implementation principle and technical effects are similar and will not be repeated here in this embodiment.
[0198] In the above Figure 9 In the illustrated embodiment, it should be understood that the processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASICs), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the present invention may be directly executed by a hardware processor or by a combination of hardware and software modules within the processor.
[0199] The memory may include a high-speed RAM memory, and may also include a non-volatile storage NVM, such as at least one disk storage.
[0200] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. Buses can be classified into address buses, data buses, and control buses. For ease of illustration, the buses in the drawings of this application are not limited to just one bus or just one type of bus.
[0201] The present application also provides a readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the steps of the above method are implemented.
[0202] An embodiment of the present application also provides a computer program product, including a computer program / instructions, which implements the steps of the above method when executed by a processor.
[0203] In this application, "at least one" means one or more, and "more" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship; in the formula, the character " / " indicates that the previous and next associated objects are in a "division" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.
[0204] It is understood that the various numerical numbers involved in the embodiments of the present application are only for the convenience of description and are not intended to limit the scope of the embodiments of the present application. In the embodiments of the present application, the order of the sequence numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0205] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some or all of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.
Claims
1. An information retrieval method, characterized in that: include: Obtaining a product feature vector, and determining an index type based on the total number of the product feature vectors, wherein the index type includes a central structure index and a satellite system map index, and the product feature vector is used to represent product information; Constructing a vector index of the product feature vector according to the index type; Obtaining a target feature vector, performing vector retrieval based on the vector index, and obtaining a product feature vector that matches the target feature vector; Acquiring product information based on a product feature vector that matches the target feature vector; Determining the index type according to the total number of product feature vectors includes: When the total number of product feature vectors is less than or equal to a preset threshold, determining that the index type is a central structure index, the central structure index includes a central node and multiple terminal nodes associated with the central node, and each node includes at least one product feature vector; When the total number of product feature vectors is greater than the preset threshold, the index type is determined to be a satellite system map index, and the satellite system map index includes a plurality of mutually related nodes and at least one entry node.
2. The method according to claim 1, characterized in that The constructing of the vector index of the product feature vector according to the index type includes: When it is determined that the index type is a central structure index, determining a central node and multiple terminal nodes from multiple nodes; Each terminal node is associated with the central node to construct a vector index of the product feature vector.
3. The method according to claim 2, characterized in that The acquiring of the target feature vector and performing vector retrieval according to the vector index to obtain a product feature vector matching the target feature vector include: Obtaining a first similarity distance between the target feature vector and the product feature vector in the central node, and a second similarity distance between the target feature vector and the product feature vector in the terminal node; A product feature vector matching the target feature vector is obtained according to the first similarity distance and the second similarity distance.
4. The method according to claim 1, wherein The constructing of the vector index of the product feature vector according to the index type includes: When it is determined that the index type is a satellite system map index, a neighbor graph is constructed according to a preset approximate nearest neighbor algorithm, wherein the neighbor graph includes a plurality of associated nodes, and each node includes at least one product feature vector; An entry node is determined from a plurality of nodes of the neighbor graph, and a vector index of the product feature vector is obtained.
5. The method according to claim 4, characterized in that The step of determining an entry node from a plurality of nodes in the neighbor graph and obtaining a vector index of the product feature vector includes: Select at least two nodes from a plurality of nodes in the neighbor graph as entry nodes; Performing node edge selection on the neighbor graph to generate an adjacency matrix; Connectivity expansion is performed on the neighbor graph to obtain a vector index of the product feature vector.
6. The method according to claim 4, characterized in that Before constructing the nearest neighbor graph according to the preset approximate nearest neighbor algorithm, the method further includes: The same product feature vector is extracted from multiple product feature vectors and stored in the same node.
7. The method according to claim 5, characterized in that The acquiring of the target feature vector and performing vector retrieval according to the vector index to obtain a product feature vector matching the target feature vector include: Taking the entry node as the initial node; Obtaining a similarity distance between the target feature vector and the product feature vector in the initial node; When the similarity distance does not match the preset distance, the next node closest to the initial node is used as the initial node, and the process proceeds to the step of obtaining the similarity distance between the target feature vector and the product feature vector in the initial node; When the similarity distance matches the preset distance, the product feature vector in the initial node is obtained as the product feature vector that matches the target feature vector.
8. The method according to claim 7, characterized in that Before acquiring the target feature vector and performing vector retrieval according to the vector index to obtain a product feature vector matching the target feature vector, the method further includes: Searching the sample feature vector according to the satellite system map index to obtain a first search result; Searching the sample feature vector according to a preset search tool to obtain a second search result; Comparing the first search result with the second search result to obtain a comparison result; The accuracy of the satellite system map index is checked according to the comparison result.
9. The method according to claim 1, characterized in that Before obtaining the product feature vector, the method further includes: Store product feature vectors offline; Obtain updated data of the product feature vector and update the product feature vector stored offline.
10. The method according to claim 1, characterized in that The obtaining of the product feature vector includes: Parsing the product feature vector to obtain the dimension of the product feature vector; When the dimension of the product feature vector is the same as the preset dimension, obtaining the parsed product feature vector; When the dimension of the product feature vector is different from the preset dimension, an alarm message is output.
11. The method according to claim 1, wherein Before acquiring the target feature vector and performing vector retrieval according to the vector index to obtain a product feature vector matching the target feature vector, the method further includes: Storing the vector index offline; Acquire update data of the vector index and update the vector index stored offline.
12. An information retrieval device, characterized in that: include: a vector acquisition module, configured to acquire at least two product feature vectors, and determine an index type based on the total number of product feature vectors, wherein the index type includes a central structure index and a satellite system map index, and the product feature vectors are used to represent product information; A construction module, configured to construct a vector index of the product feature vector according to the index type; A matching module is used to obtain a target feature vector, perform vector retrieval based on the vector index, and obtain a product feature vector that matches the target feature vector; An information acquisition module, configured to acquire product information based on the product feature vector; The vector acquisition module is specifically used to: When the total number of product feature vectors is less than or equal to a preset threshold, determining that the index type is a central structure index, the central structure index includes a central node and multiple terminal nodes associated with the central node, and each node includes at least one product feature vector; When the total number of product feature vectors is greater than the preset threshold, the index type is determined to be a satellite system map index, and the satellite system map index includes a plurality of mutually related nodes and at least one entry node.
13. A server, characterized in that: comprising a memory and at least one processor; The memory stores computer-executable instructions; The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the method according to any one of claims 1 to 11.
14. A computer-readable storage medium having a computer program stored thereon, characterized in that: The computer-readable storage medium stores computer instructions, which are used to implement the method according to any one of claims 1 to 11 when executed by a processor.
15. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the method according to any one of claims 1 to 11 is implemented.
Citation Information
Patent Citations
Space target index constructing method, space target collision pre-warning method, space target region query region and space target nearest neighbor query method
CN106649821A
Index generation method, data retrieval method and device
CN106777130A