如何识别用户在输入搜索字词时错过了空格?例如,如果用户输入“usbcable”,我想搜索“usb cable”。我在MySQL中进行REGEX搜索以匹配完整的单词。
我有一个表格,其中包含搜索中使用的每个术语,因此我知道“usb”和“cable”是有效的术语。有没有办法构造一个WHERE子句,它将为我提供该术语与字符串部分匹配的所有行?
这样的事情:
SELECT st.term
FROM SearchTerms st
WHERE 'usbcable' LIKE '%' + st.term + '%'
还是其他任何想法?
答案 0 :(得分:5)
Text Segmentation是Natural Language Processing的一部分,是您在此具体示例中寻找的内容。它用于搜索引擎和拼写检查程序,所以你可能会看到开源拼写检查器和搜索引擎的示例源代码。
拼写检查可能是正确考虑的范例,因为在尝试将其拆开之前,您首先需要知道它是否是合法的词。
- 亚当
答案 1 :(得分:0)
发表在评论中,但我认为提出答案非常重要:
该查询不起作用吗? - 西蒙·巴肯
其次是:
好吧,我应该先测试一下 发布。该查询不起作用,但是 它有一个CONCAT,就像这样:WHERE 'usbcable'喜欢Concat('%',st.term, '%')。我认为这是最简单的, 和最相关的(具体到我的 网站),方式去。 - arnie0674
当然比这个应用程序的文本分割容易得多......
- 亚当