ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:
阿里云折扣服务器
http://www.sqlite.org/fts3.html
SQLite官方测试中,50多万条数据用LIKE '%keyword%'模糊搜索耗时22.5秒,用MATCH 'keyword’全文搜索仅耗时0.03秒,比模糊搜索快749倍.
FULLTEXT能利用索引进行查询,速度肯定要比LIKE模糊搜索快得多.
MySQL5.6.4后的InnoDB支持中文全文检索.
https://dev.mysql.com/doc/refman/5.6/en/innodb-fulltext-index.html
比如要实现对自己博客的所有文章进行全文搜索:
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
content TEXT,
article_fc TEXT,
FULLTEXT idx (article_fc)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入文章时,对标题title和正文content这两个字段进行SCWS中文分词并用空格分隔后存入一个用于全文搜索的字段比如article_fc,该字段要求建立FullText全文索引.
用户搜索时,先用SCWS对输入进行分词比如获得关键词word1和word2,然后用MATCH AGAINST语句对进行全文搜索:
SELECT * FROM articles WHERE MATCH(article_fc) AGAINST(‘word1 word2’);
article_fc字段所在的表也可以和标题正文所在的文章表分开,查出后连接文章表读出标题正文即可.
SCWS是马明练hightman开发的一个PHP PECL中文分词扩展,提供有词典.如果不能安装PECL扩展,作者还提供了一个PHP实现的中文分词库PSCWS:
http://www.xunsearch.com/scws/
不想用数据库的FULLTEXT,可以试试SCWS作者马明练开发的开源中文搜索引擎XunSearch:
http://www.cloud-sun.com/view/product
【性能劲爆】XunSearch 单库最多支持 40 亿条数据,在 5 亿网页大约 1.5TB 的数据中检索时间不超过 1 秒(非缓存)。
【简单易用】前端是使用脚本语言 PHP 编写的开发工具包。API 简单清晰,开发难度极低,提供全中文的示例代码、文档、辅助脚本工具等。
【功能丰富】除支持基础的自定义分词、字段检索、布尔搜索外,还直接支持用户急需的相关搜索、拼音搜索、搜索建议等专业功能。
如何用mysql全文索引(检索的最小单位是词而不是字符)对字符进行查找(重点:分词:数据库中建立分词字段)http://www.sqlite.org/fts3.html SQLite官方测试中,50多万条数据用LIKE ‘%keyword%’模糊搜索耗时22.5秒,用MATCH ‘keyword’全文搜索仅耗时0.03秒,比模糊搜索快749倍. FULLTEXT能利用索引进行查询,速度肯定...
1、一张表只能创建一个FULLTEXT索引,创建语句为:
ALTER TABLE tablename ADD FULLTEXT INDEX idx_full_text_all(field1,field2..) with parser ngram;
with parser ngram :是指定
中
文
分词
器插件
2、搜索语句
select * from...
logstash 启动、停止命令
启动: nohup ./logstash -f /usr/local/soft/logstash-6.4.0/config/logstash-
mysql
-es.conf &
停止: ps -ef| grep logstash
kill -s 9 进程号
我们对Markdown编辑器
进行
了一些功能拓展与语法支持,除了标准的Ma...
做电商的需要厘清两个概念SPU和SKU
SPU = Standard Product Unit (标准产品
单位
)SPU是商品信息聚合的
最小
单位
,是一组可复用、易
检索
的标准化信息的集合,该集合描述了一个产品的特性。
在商品信息电子化过程
中
,商品的特性可以由多个“属性|属性值对”
进行
描述。“属性|属性值对”完全相同的商品,可以抽象成为一个SPU。
另一方面,这些“属性|属性值对”在SPU
中
固化下...
SPU = Standard Product Unit (标准产品
单位
)
SPU 是商品信息聚合的
最小
单位
,是一组可复用、易
检索
的标准化信息的集合,该集合描述 了一个产品的特性。
通俗点讲,属性值、特性相同的商品就可以称为一个 SPU。
例如:iphone7 就是一个 SPU,与商家,与颜色、款式、套餐都无关。
SKU=stock keeping unit(库存量
单位
)
SKU 即库存进出计量...
1.
全文索引
(FULLTEXT INDEX) FULLTEXT索引仅可用于MyISAM表,不可用于INNODB表
2.
全文索引
在
mysql
的默认情况下,对于
中
文意义不大
因为英文有空格,标点符号来拆成单
词
,进而对单
词
进行
索引
而对于
中
文,没有空格来隔开单
词
,
mysql
无法识别每个
中
文
词
中
文
分词
并不是一件很简单的事情,真正能把
中
文
分词
这件事
情做好的...
当您将
数据库
的
字符
集设置为 utf8,而表的
字符
集设置为 gbk 时,会发生什么呢?这样做会导致
MySQL
在查询表时出现乱码,因为
数据库
和表的
字符
集不匹配。因此,建议您将
数据库
和表的
字符
集都设置为 utf8,这样就可以避免乱码问题。
另外,在
MySQL
中
,您还可以使用下面的 SQL 语句来查看当前
数据库
的
字符
集和排序规则:
SHOW VARIABLES LIKE 'character_set_database';
SHOW VARIABLES LIKE 'collation_database';
您也可以使用下面的 SQL 语句来查看某个表的
字符
集和排序规则:
SHOW TABLE STATUS LIKE 'table_name';
希望这些信息能帮助您。