如何在MySQL中的全文搜索中添加一列以指示哪些单词包含在搜索中?MySQL FULLTEXT搜索
1
A
回答
2
你的意思是查询或索引定义? 对于查询它会是这样的:
WHERE
MATCH (colA, colB) AGAINST ('+words* +you* +search*' IN BOOLEAN MODE)
-3
使用以下命令
ALTER TABLE "table_name"
ADD INDEX " INDEX_NAME " (COLUMN_NAME)
+1
-1我认为这只对标准搜索有用,而不是提问者想要的全文搜索(即搜索字段中的任何单词或单词) – Elemental 2010-01-18 15:24:02
2
谢谢你的帮助。 SELECT语句确实是我需要指导的地方。例如,如果是这样的查询: 选择ALBUMID,从相册 标题哪里比赛(AlbumDesc) 反对(“相册”) 工会 选择ALBUMID,从相册 标题哪里比赛(AlbumDesc) 反对(视频相册“与查询扩展) 工会 选择ALBUMID,从相册 标题哪里比赛(AlbumDesc) 对(”工作室“) 工会 选择ALBUMID,从相册 标题哪里比赛(AlbumDesc) 对(”与查询工作室”扩张); 如何显示用于查询的单词(即'album'和'studio')? – Art 2010-01-18 21:18:51
如果你想知道哪个单词结果合适,那么你总是可以添加这个单词的结果,即: select AlbumID,Title,'albums'as SearchWord from Albums where match(AlbumDesc)against( 'albums') 并对其他查询做同样的事情。 – 2010-01-19 08:36:20