哪个关键字搜索算法?

时间:2015-09-22 17:34:39

标签: algorithm search full-text-search

我有一个电影列表。

eg:
Iron Man - 2008
Iron Man 2 - 2010
Iron Man 3 - 2013
Shawshank Redemption - 2000

我想基于关键字实现搜索算法。如果我进入Iron,所有3部钢铁侠电影都应该出现。钢铁侠2010年,只有钢铁侠2应该进入结果。

我考虑过TF-IDF,但它并没有考虑到单词的顺序。即,如果有电影Man Iron,即使输入的关键字为Iron Man,它也会与Iron Man具有相同的排名。

哪种算法在这种情况下效果最好,还考虑了遮挡词的顺序?

1 个答案:

答案 0 :(得分:0)

使用正则表达式。 用空格打破所有搜索结果

 #algo 
 movie_list = ['Iron man 2008', 'Iron man 2010','Iron man 2013']
 partial_results = {}
 i=0
 movie = "Iron man 2010"
 words = movie.split(" ")

 for a_movie in movie_list:
     print_unique_movie = true
     for each_word in words:
         if each_word in a_movie:
             partial_results[i] = a_movie
             continue
         else
             print_unique_movie = false
     i +=1
     if print_movie:
          print a_movie
     else:
          for key,value in partial_results.iteritems():
              print value

虽然这肯定是一种非常基本的方式。您可以使用正则表达式开始优化。此外,如果它在操作系统级别上,您可以使用文件索引。

相关问题