【发布时间】:2017-12-05 12:32:17
【问题描述】:
我不知道如何在问题标题中解释它。假设我有一个“红色兴趣蛋糕”的查询(对不起)。我想搜索一个大型项目数据库(比如描述)。我需要找到将整个查询作为其描述的一部分或作为前缀的所有描述/项目。示例:
微红色有趣的蛋糕
符合条件,因为它有“红色”、“兴趣”和“蛋糕”。
思路清晰吗?我该怎么做?我考虑过使用 trie,但我不确定它是否能正常工作。
【问题讨论】:
-
取决于数据库和语言,你能把你的问题编辑得更简洁吗?
-
为什么会这样?我想知道要使用的算法/方法。语言/数据库/数据结构部分很灵活。
-
按空格分割项目,检查单词是否包含查询词
-
您使用 SQL 语言吗?
red other words interest other words-> 匹配?red other words interest other words cake-> 匹配?red other words cake other words interest-> 匹配?顺序重要吗?连续的单词重要吗?所有的词都应该出现吗?您想要准确的结果还是排名相关的结果? -
@glegoux 1. 如果可以用 SQL 完成,那么可以确定,如果不能,那么我想知道其他方法。 2. 不,它们不匹配。查询中的所有单词都必须出现在项目中,或者作为整个单词或前缀,或者两者兼而有之。 3.只要所有单词都存在,顺序无关紧要。4。在我们得到所有匹配的项目后,我们可以对它们进行排名,但这是一个不同的主题。
标签: python string algorithm performance search