当前位置: 首页 > news >正文

花生壳如何做网站kalium wordpress

花生壳如何做网站,kalium wordpress,界面简洁的网站,建一个论坛网站怎么建经过实测#xff1a;1.09亿的数据量进行中文检索。ElasticSearch单机的检索性能在0.005~5.6秒之间#xff0c;此检索速度可满足95%的业务场景#xff08;注意#xff1a;每条ES文档平均65个汉字#xff0c;数据源取自几千本小说#xff0c;大部分文档在15~300个汉字之间1.09亿的数据量进行中文检索。ElasticSearch单机的检索性能在0.005~5.6秒之间此检索速度可满足95%的业务场景注意每条ES文档平均65个汉字数据源取自几千本小说大部分文档在15~300个汉字之间不然字数太多索引太大电脑存不下。 前置文章 由于本文章的前置操作强依赖于另一篇文章推荐阅读 万字详解PHPSphinx中文亿级数据全文检索实战实测亿级数据0.1秒搜索耗时 运行配置 和Sphinx环境保持一致。 服务器配置CentOS7.6 16核4G内存。固态硬盘。 ES配置ElasticSearch 8.14.1单机默认配置使用IK分词器的ik_max_word配置。不设置分片和副本数量。 数据准备 和Sphinx用的数据源保持一致。 依旧是上次用的几千本小说整合后的单个txt文件9.57个G用\n间隔作为一个ES文档。 数据量为109 450 000条数据。 数据插入 创建索引与映射并修改max_result_window参数 $params [index performance_test,body [settings [analysis [analyzer [ik_analyzer [type ik_max_word,],],],],mappings [properties [id [type integer,],content [type text,analyzer ik_analyzer,],],],], ];$response $client-indices()-create($params); dd($response-asBool());$params [index performance_test,body [index [max_result_window 2147483647 //用于控制在搜索查询中可以检索到的最大文档数有符号int类型,最大可设置2^31 - 1大了会有性能问题]] ];$response $client-indices()-putSettings($params); dd($response-asBool());插入数据 //这段代码只确保可批量插入忽略精准的数据处理高可用问题。 $start microtime(true); ini_set(memory_limit, 4096M); set_time_limit(0);include __DIR__ . ./vendor/autoload.php;$client \Elasticsearch\ClientBuilder::create()-setHosts([192.168.0.183:9200])-setBasicAuthentication(elastic, 123456)-build();/*** function 逐行读取大文件* param $file_name string 文件名* return Generator|object*/ function readLargeFile($file_name) {$file fopen($file_name, rb);if (! $file) {return false;}while (! feof($file)) {$line fgets($file);if ($line ! false) {yield $line;}}fclose($file); }// 使用生成器逐行读取大文件 $file_resource readLargeFile(E:/其它/一亿行汉字文本.txt); foreach ($file_resource as $loop $line) {$loop ;$from_charset mb_detect_encoding($line, UTF-8, GBK, GB2312, BIG5, CP936, ASCII);$utf8_str iconv($from_charset, UTF-8, $line);if(in_array($utf8_str, [\n, \r, \n\r, \r\n])) {continue;}$params[body][] [index [_index performance_test, _id $loop]];$params[body][] [id $loop, content $utf8_str];if(count($params[body]) 100000) {$client-bulk($params); //忽略批量插入的错误$params [];} }echo 插入耗时 . bcsub(microtime(true), $start, 3) . 秒;实测ES与Sphinx新增数据建索引速度对比 应用耗时新增数据量补充Sphinx50.5分钟109 450 000/ElasticSearch119分钟109 450 000总时间 - PHP代码执行时间总耗时190分钟 实测ES与Sphinx查询性能对比 某些项ElasticSearch搜索出来的结果远超MySQL和Sphinx查询的结果这是分词汇总的缘故。 而Sphinx使用的是SPH_MATCH_PHRASE格式所以数量不会有ES那么多若用SPH_MATCH_ANY可能有更多的检索结果。 类型搜索关键字Sphinx搜索耗时秒ES搜索耗时秒MySQL搜索耗时秒Sphinx搜索数量ES搜索数量MySQL搜索数量数字1230.0050.005305.142312138778143中文单字虹0.0130.115223.1846780260016103272英文单字母A0.0310.009339.57613642801017983单中文标点。4.4710.003125.10667088012067096182单英文标点.00.003251.171006697242可打印特殊字符☺00.002355.469000中文词语易分词黑色衣服0.0660.283346.44210397224021062中文词语不易分词夏威夷0.0110.114127.054363636643664中文词语热门你好0.0220.091126.979102826136996137717中文词语冷门旖旎0.0100.077345.493445244964528英文单词good0.0100.074137.5625535881036中文短语他不禁一脸茫然1.7420.973218.2720496986600英文短语I am very happy0.0150.121355.2351483750长文本陈大人不急着回答他先从柜台下面又抽出了一份文案翻了好一阵之后才回答道“瞧果然如此如今广州这边官职该放得都放出去了只剩下消防营山字营的一个哨官之职。不出所料的话督抚大人准会委你这个职务。0.1315.638129.2041804989221 实测ES与Sphinx并发性能对比 压测方式 ab -c 1 -n 10~1000 127.0.0.1/temp/es/test.php中文定值关键字为华盛顿英文定值关键字为XYZ30位随机中文或英文字符由代码生成用代码生成数据源是避免引入更好的数据源带来了性能误差。由于ES IK分词器比Sphinx中文分词器分词粒度更细所以并发下30位随机中文字符检索性能极具下降。 生成任意正整数个中文字符 function generateRandomChinese($length) {$result ;for ($i 0; $i $length; $i) {$result . mb_convert_encoding(# . mt_rand(0x3e00, 0x9fa5) . ;, UTF-8, HTML-ENTITIES);}return $result; }生成任意正整数个英文字符 function generateRandomEnglish($length) {$result ;for ($i 0; $i $length; $i) {$result . chr(mt_rand(97, 122)); // 小写字母ASCII码范围: 97~122大写字母65~90}return $result; }类型搜索次数ab -n 参数值Sphinx耗时秒ES耗时秒固定中文多次搜索100.2560.623固定中文多次搜索1001.4351.915固定中文多次搜索100011.60418.821随机30位中文字符多次搜索100.5174.257随机30位中文字符多次搜索1002.30552.505随机30位中文字符多次搜索100017.197超时固定英文多次搜索100.3270.584固定英文多次搜索1000.7475.085固定英文多次搜索10008.51050.423随机30位英文字符多次搜索100.0770.0623随机30位英文字符多次搜索1000.7664.810随机30位英文字符多次搜索10009.42850.698 ES与Sphinx各项优缺点直观对比 项目ElasticSearch相比于SphinxSphinx相比于ElasticSearch创建索引性能慢快查询性能相差无几相差无几并发性能慢快中文分词支持需安装IK分词器需安装Mmseg分词工具和Coreseek中文搜索引擎框架实时搜索友好不友好对增量数据Insert通过代码层可直接同步ES需要运维层面的触发而生成增量索引与数据库一致性同步问题Update、DeleteES支持直接更新Sphinx不支持对索引更新需重建索引客户端语言支持Java、PHP、JavaScript、Perl、Ruby、Python、Golang、Eland、.NET、RustJava、PHP、Python、Perl、C开发语言JavaC支持跨平台是是架构C/SC/S合作流程内置数据库支持对自身数据进行复杂的增删改查但需要MySQL兜底内置索引库、帮MySQL找ID事务支持不支持不支持系统内存占用大小集群部署支持支持集群协调模式自动负载均衡节点间协调 需要手动设置负载均衡和协调数据分析内建强大的聚合和分析功能不支持复杂的数据分析GUI需额外安装组件例如Kibana无官方可视化工具生态繁荣一般上手难度难易安全性支持基于用户的访问控制集成X-Pack进行高级安全配置。但内部的Log4j2组件存在高危漏洞基本的权限管理需依赖外部工具
http://www.ho-use.cn/article/10819096.html

相关文章:

  • 长沙高端网站开发九一制作网站
  • 怎么查网站建设是哪家公司建成区违法建设治理网站
  • 高端网站有哪些优势php 网站响应时间
  • 芬兰网站后缀衡水网站排名优化公司
  • 简单网站开发实例成都seo优化
  • 英文网站一般用什么字体苏州工业园区公共资源交易中心
  • 上海网站推广优化公司汕头建设吧 百度贴吧
  • 万网域名证书网站架构优化
  • 个人简介网站源码股票交易网站建设
  • 网站设计三把火科技谁会写网站代码
  • 怎样做二维码网站北京建设网站图片
  • 有哪些可以免费推广的网站互联网营销师怎么报考
  • 建设高校网站的现实意义绍兴seo网站管理
  • 公司网站建设的项目工作分解结构wordpress 手机不显示
  • 网站建设费用有哪些北京海淀区大学
  • 基本的网站开发技术路线中企z云邮企业邮箱登录
  • 河北建筑网站台州平面设计公司
  • 网站建设项目公告建设企业网站企业网银
  • 手机端做的优秀的网站宜昌网站设计制作公司
  • 巩义网站建设费用百度竞价排名平台
  • wordpress下载网站模板企业网络设计方案预算
  • 如何创建私人网站山西省建筑工程网
  • 免费网站的软件下载html写手机网站吗
  • 企业网站效果图产品策划方案怎么做
  • 网站建设shopify广州免费建站找哪家
  • ip动态地址做网站源码下载工具
  • 怎么区分网站是模板做的网上推广购物平台怎么推广好
  • 微商城网站建设哪家好网页设计公司官网功能图
  • 建设信用卡积分兑换商城网站京东关键词优化技巧
  • 科技企业网站建设模板wordpress竞争