有人可以建议的想法,如何将用户输入(少量字)匹配到系统中适当的标签(每个标签也是1或N个字)?用户搜索关键字与标签的匹配
这里是示例来演示问题: 我有一个标签,分配给对象。例如(标签昏迷分开的,但在现实生活中,我有关系表)
Object Tags
Earth World, reality
World of warcraft 3 World Of warcraft, virtual reality
quake game, virtual
我想获得如下:
用户输入“世界‘:结果是’地球 '
用户输入' 魔兽世界的 ':结果是' 魔兽世界3'的
这很简单,精确搜索。但是:
用户输入 '游戏世界 ':结果应该是由两个标签 - ' 地球', '地震'
用户输入 '虚拟现实':返回所有3个记录
用户输入 '现实虚拟':地球,地震
我正在使用t-sql进行搜索,全文搜索已启用并用于在主文本中查找关键字。 C#是中间层。但我更喜欢在t-sql级别上有解决方案。
更新1 首先我所要做的,是不允许空格标签,像计算器。任何其他想法都会被提升。
好点。不过,我担心在C#级别将所有关键字组合与标签匹配的速度会变慢。 – st78 2009-10-16 08:47:15
情况正好相反。除非您拥有大量关键字(> 100MB),否则不需要全文索引。你总是可以用嵌套的hashtables/dictionnaries来实现c#索引。 – Manu 2009-10-16 08:59:25
虽然,除非你的数据库(这是唯一的),你实际上可以有多个使用C#代码的服务器......这里有自然的平行性! – 2009-10-16 09:02:43