2011-10-30 117 views
0

我的应用程序应该根据搜索查询搜索存储的图像。用户可以在label,description,people tagged in,time posted中进行搜索。为此,我正在尝试制作一个搜索查询parser,它接受wild card (*)@TaggedPeopleName(DateFrom - DateTo)#Place和所有其他文本以匹配标签和说明。我的问题是我重新发明轮子?或者已经存在这样的解析器可能具有类似的功能?搜索查询分析器

查询示例如下:

  • @JohnLenon 500 Miles

    将返回在标签或描述相符500 Miles的图像和具有约翰的标签乐能

  • (24 Dec - 30 Dec)

    会返回当时上传的所有图片。

  • #Kolkata (24 dec - 31 Dec) Occupy Together

    将返回匹配字符串Occupy Together在标签或说明书和withing的时限24 dec to 31 Dec及地点Kolkata

拍摄的所有图像如果某些库已经这样做可能用我会接受的不同语法。因为我不是仅仅使用这个语法

+0

将一些示例查询添加到您的问题中,我认为这样会更清楚地查找您要查找的内容。 – hakre

+0

检查编辑............... –

回答

0

据我所知,没有任何东西会自动为你做 - 这对你的情况来说太特殊了。

我会把它分成几块,以方便使用。

搜索以@开头的所有术语 - 删除它们。
搜索以#开头的所有术语 - 删除它们。
搜索由()包围的所有术语 - 删除它们。
剩下的是一般搜索词。

事情要考虑:

  • 如果什么有人想搜索在描述一个以@或#开头的项?
  • ()术语的格式是什么 - 大多数人不会自然地格式化日期,因为你有?
  • 如果某人只是在()之间放入垃圾会怎么样?
  • 如果两个单词由另一个标记分隔,但在删除它们之后放在一起会怎么样?
  • 或者如果这个人把两个单词放在一起,但不希望他们搜索为一个术语?