如何匹配MySQL例如,会计搜索应与会计、会计、会计等相匹配。我在共享主机上,所以我不能去levenshtein等MySQL添加任何功能。 % Z& }( a$ U# v我认为谷歌如何匹配东西 会计课程 ”和“ 会计课程 搜索时,会计师课程 3 c! t+ d4 W3 L; ~7 g6 N/ d”。例子。 5 G) i% C/ F- h5 f& u; I1 j" E我的服务器语言是php,如果只能在其中实现,而不是在其中SQL中实现。 p4 Y: p! ^% u2 c1 u8 m
当前语句如下。# m2 v' F9 U: m" ~/ p9 M) \6 X3 ]# o
SELECT pjs.title, MATCH (pjs.title) AGAINST ('accountancy' IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION) AS rel1, MATCH (pjs.description) AGAINST ('accountancy' IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION) AS rel2, MATCH pjs.benefits, pjs.experienceRequirements, pjs.incentives, pjs.qualifications, pjs.responsibilities, pjs.skills ) AGAINST ('accountancy' IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION) AS rel3FROM pxl_jobsearch AS pjs ORDER BY (rel1 * 5) (rel2 * 1.5) (rel3) DESC; ! h4 e! q v$ t9 o0 U/ \ 解决方案: 5 ]( j9 T: S5 S' D. d
MySQL全文搜索不是很好,你可能想使用其他引擎。我最喜欢的是Sphinx(http://sphinxsearch.com/),但还有其他一些。这些支持大多是开箱即用的。 5 k# @) [5 O3 a如果你有大表,打算用词干,那么MySQL性能可能很差。6 x) Z7 p: [: \$ r: A
假如能使用Sphinx,请查看以下php脚本http://tartarus.org/~martin/PorterStemmer/php.txt3 P; w( N ^5 m! v4 c" E" n, T
这样,您就可以使用词干,以及对词干单词的搜索。