ElasticSearch 5.3.1 发布了,Elastic Search 是一个基于 Lucene 构建的开源,分布式,RESTful 搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过 HTTP 使用 JSON 进行数据索引。
部分更新如下:
重大改进
Settings
增强
Core
Network
REST
集群统计信息不应渲染空的 http/transport 类型 #23735
升级
Internal
升级 Lucene 至 6.4.2 #23933
查看 发布主页 了解更多更新内容。
引用来自“eechen”的评论
相似度搜索的实现思路:汉字转拼音后进行全文检索.美团外卖,输入"得克",提示餐厅"德克士(金牛万达店)".
// PHP利用ICU扩展intl实现汉字转拼音
echo transliterator_transliterate('Any-Latin; Latin-ASCII; Lower()', '德克士'); //de ke shi
echo transliterator_transliterate('Any-Latin; Latin-ASCII; Lower()', '得克'); //de ke
// 假设MySQL中字段name内容为"德克士",则分词字段name_fts内容为"de ke shi".
// MySQL全文检索字段name_fts中同时包含关键字de(得)和ke(克)的商店记录.
SELECT name FROM store
WHERE MATCH(name_fts) AGAINST('+de +ke' IN BOOLEAN MODE)
ORDER BY id DESC LIMIT 5;
// SQLite
SELECT name FROM store
WHERE name_fts MATCH 'de ke'
ORDER BY id DESC LIMIT 5;
引用来自“MGL_ONE”的评论
Docker版怎么升级?美团外卖,输入"得克",提示餐厅"德克士(金牛万达店)".
// PHP利用ICU扩展intl实现汉字转拼音
echo transliterator_transliterate('Any-Latin; Latin-ASCII; Lower()', '德克士'); //de ke shi
echo transliterator_transliterate('Any-Latin; Latin-ASCII; Lower()', '得克'); //de ke
// 假设MySQL中字段name内容为"德克士",则分词字段name_fts内容为"de ke shi".
// MySQL全文检索字段name_fts中同时包含关键字de(得)和ke(克)的商店记录.
SELECT name FROM store
WHERE MATCH(name_fts) AGAINST('+de +ke' IN BOOLEAN MODE)
ORDER BY id DESC LIMIT 5;
// SQLite
SELECT name FROM store
WHERE name_fts MATCH 'de ke'
ORDER BY id DESC LIMIT 5;