【发布时间】:2010-12-25 03:13:13
【问题描述】:
我正在为我的基于 php 的网站创建一个搜索引擎。我需要搜索一个mysql表。
问题是,搜索引擎必须非常“智能”,这样用户才能轻松找到他们的商品(这是一个分类网站)。
我目前已经使用这段代码设置了 FULLTEXT 搜索:
MATCH (headline) AGAINST ($querystring)
但这还不够……
例如,假设字段headline 包含类似Bmw 330ci 的内容。
如果我搜索330,我不会得到任何结果。结尾 ('ci') 只是汽车模型中许多结尾之一,在搜索表格时必须考虑到这些结尾。
或者如果headline 字段是bmw330 怎么办?也没有结果,因为它只匹配完整的单词。
或者,如果headline 是bmw 330,我搜索bmw 520,仍然使用全文我将得到bmw 330 结果,即使我搜索了bmw 520...不好!
我应该如何解决这个问题?
【问题讨论】:
-
您可以尝试显示帮助文本。这意味着如果用户键入 BMW,您可以显示诸如 BMW 330CI、BMW 320CI 等详细信息。作为 google 在搜索时显示的帮助文本该用户可以从帮助列表中进行选择。但我对上述想法的实施一无所知,对此感到抱歉。