接手搜索引擎后,最近调优系统发现一个方法执行特别慢。仔细梳理后发现,这方法从MongoDB索引全量数据到Elasticsearch,而实际上,接口使用根本用不到全量数据,能用到1W就算是极限了。
最关键的是,分页多次索引,一次处理10条数据……简直ZZ……调[……]
标签归档: PHP
open() “/var/lib/nginx/tmp/client_body/0000000001” failed 解决方案
如果调整了NGINX的用户后,PHP上传文件提示:“open() “/var/lib/nginx/tmp/client_body/0000000001” failed”。
那么可以将nginx的目录权限改为nginx服务所使用的最新的用户,并将php-fpm和ngin[……]
PHP mongodb驱动增删查改示例
MongoDB驱动算是比较新的编写方式了,所以整理下增删查改的代码示例:
<?php
#连接
$mongodb = 'mongodb://127.0.0.1:27017/admin?connectTimeoutMS=1000';$manager[......]
PHP eval()’d code on line 解决方案
使用eval报错:“eval()'d code on line xx”。
通常是第一次使用eval的同学最常碰到的情况。
原理有兴趣自己去搜一下,下面给出eval正确使用的示例:
<?php$a = "test";$str =[......]
PHP正则提取字符串中的全部汉字字母数字
配合昨天的博客,如果要实现提取字符串中的汉字字母数字呢?其实也可以理解为,过滤其他标点等特殊字符,如何实现?示例如下:
<?php
$str = "sdfsd测试1234结果:: 是否正常 ";
echo pureNameOnlyChinese[......]
PHP正则提取字符串中的全部汉字
有这么个需求,要提取字符串中的全部汉字。想着也就只有正则能实现了,搜索调试了下,示例如下:
<?php
$str = "sdfsd测试1234结果:: 是否正常 ";
echo pureNameOnlyChinese($str);function[......]
PHP将数组转为Post参数
PHP in_array 字符串和0的暗坑
其实不算暗坑,有个特殊的地方,用的是in_array检测值是否在数组中,数组赋值:
$arr=array("",0);
那么,下面的代码结果是什么?
var_dump(in_array("test",$arr));
实际结果[……]
Elasticsearch Function Score Query 分数差异
最近接手搜索引擎后,精简调优代码后,测试同学发现个问题,就是最终_score的计算和最初不同了,多了2分。
经过explain后,查看发现的新增的两个字段造成的分值变化,默认的boost是1,两个自然是多了2。
那么这个分是怎么来的呢?经过调试发现,我增加的筛选是[……]
Docker php-fpm 慢查询 failed to ptrace Operation not permitted解决方案
宿主机的服务慢查询是正常的,但是到了Docker中的php-fpm服务,触发慢查询后,会输出类似报错:
[31-May-2019 09:48:13] ERROR: failed to ptrace(ATTACH) child 5118: Operation not p[......]