Search 搜索策略
我正在编写一个java程序,需要为指定的字符串找到可能的匹配项。字符串的形式通常为 一二三,一二三 一个什么东西两个什么东西 其中1、2和3是实际标题的一部分。数据库中的候选匹配项的形式为1+2+3。我提出的方法是使用regex将数据库候选项中的每个标记与整个指定字符串进行比较。数据库令牌匹配数的计数器将用于确定可能匹配的排名Search 搜索策略,search,Search,我正在编写一个java程序,需要为指定的字符串找到可能的匹配项。字符串的形式通常为 一二三,一二三 一个什么东西两个什么东西 其中1、2和3是实际标题的一部分。数据库中的候选匹配项的形式为1+2+3。我提出的方法是使用regex将数据库候选项中的每个标记与整个指定字符串进行比较。数据库令牌匹配数的计数器将用于确定可能匹配的排名 我关心的是提供的匹配的准确性,以及该方法成功查找匹配(如果确实存在)的能力。这种方法有效吗?取决于您是否有大量数据库记录和大型字符串与搜索进行比较,结果可能会非常昂贵。它
我关心的是提供的匹配的准确性,以及该方法成功查找匹配(如果确实存在)的能力。这种方法有效吗?取决于您是否有大量数据库记录和大型字符串与搜索进行比较,结果可能会非常昂贵。它需要为每个记录传递整个输入字符串
您可以考虑对输入字符串进行单次遍历,并在数据库中搜索令牌。一些智能搜索索引可以帮助加快速度。 当配对多个令牌时,您需要找出一种方法,知道何时停止扫描并前进到下一个令牌。部分匹配在这方面可能有所帮助;存储一+二+三,也可以将一、二和三分开。或者,如果顺序很重要,也可以将其存储为1、1+2和1+2+3
基本上,当你扫描的时候,你有一个候选数据库条目的列表,它变得越来越小,与facet搜索相当