Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 搜索策略_Search - Fatal编程技术网

Search 搜索策略

Search 搜索策略,search,Search,我正在编写一个java程序,需要为指定的字符串找到可能的匹配项。字符串的形式通常为 一二三,一二三 一个什么东西两个什么东西 其中1、2和3是实际标题的一部分。数据库中的候选匹配项的形式为1+2+3。我提出的方法是使用regex将数据库候选项中的每个标记与整个指定字符串进行比较。数据库令牌匹配数的计数器将用于确定可能匹配的排名 我关心的是提供的匹配的准确性,以及该方法成功查找匹配(如果确实存在)的能力。这种方法有效吗?取决于您是否有大量数据库记录和大型字符串与搜索进行比较,结果可能会非常昂贵。它

我正在编写一个java程序,需要为指定的字符串找到可能的匹配项。字符串的形式通常为

一二三,一二三 一个什么东西两个什么东西

其中1、2和3是实际标题的一部分。数据库中的候选匹配项的形式为1+2+3。我提出的方法是使用regex将数据库候选项中的每个标记与整个指定字符串进行比较。数据库令牌匹配数的计数器将用于确定可能匹配的排名


我关心的是提供的匹配的准确性,以及该方法成功查找匹配(如果确实存在)的能力。这种方法有效吗?

取决于您是否有大量数据库记录和大型字符串与搜索进行比较,结果可能会非常昂贵。它需要为每个记录传递整个输入字符串

您可以考虑对输入字符串进行单次遍历,并在数据库中搜索令牌。一些智能搜索索引可以帮助加快速度。 当配对多个令牌时,您需要找出一种方法,知道何时停止扫描并前进到下一个令牌。部分匹配在这方面可能有所帮助;存储一+二+三,也可以将一、二和三分开。或者,如果顺序很重要,也可以将其存储为1、1+2和1+2+3

基本上,当你扫描的时候,你有一个候选数据库条目的列表,它变得越来越小,与facet搜索相当