编译时加上 –with-pear 参数
作者归档:杨龙
Solr ik分词器集成
https://github.com/magese/ik-analyzer-solr
单机版Solr
-
将jar包放入Solr服务的
Jetty或Tomcat的webapp/WEB-INF/lib/目录下; -
将
resources目录下的5个配置文件放入solr服务的Jetty或Tomcat的webapp/WEB-INF/classes/目录下;① IKAnalyzer.cfg.xml ② ext.dic ③ stopword.dic ④ ik.conf ⑤ dynamicdic.txt
-
配置Solr的
managed-schema,添加ik分词器,示例如下;<!-- ik分词器 --> <fieldType name="text_ik" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
-
启动Solr服务测试分词;
-
IKAnalyzer.cfg.xml配置文件说明:名称 类型 描述 默认 use_main_dict boolean 是否使用默认主词典 true ext_dict String 扩展词典文件名称,多个用分号隔开 ext.dic; ext_stopwords String 停用词典文件名称,多个用分号隔开 stopword.dic; -
ik.conf文件说明:files=dynamicdic.txt lastupdate=0
files为动态词典列表,可以设置多个词典表,用逗号进行分隔,默认动态词典表为dynamicdic.txt;lastupdate默认值为0,每次对动态词典表修改后请+1,不然不会将词典表中新的词语添加到内存中。lastupdate采用的是int类型,不支持时间戳,如果使用时间戳的朋友可以把源码中的int改成long即可;2018-08-23已将源码中lastUpdate改为long类型,现可以用时间戳了。
-
dynamicdic.txt为动态词典在此文件配置的词语不需重启服务即可加载进内存中。 以
#开头的词语视为注释,将不会加载到内存中。
Apache Solr Java版本要求
Apache Solr在Java 8或更高版本上运行。
建议装Java 8 否则可能有bug
solr 不支持最新版的java 14
搞得有莫名其妙的bug
汉字大全【UTF-8】
jdk-8u251-windows-x64.exe 迅雷 emule 下载
JavaScript function* 函数
function* 这种声明方式(function关键字后跟一个星号)会定义一个生成器函数 (generator function),它返回一个 Generator 对象。
function* generator(i) {
yield i;
yield i + 10;
}
const gen = generator(10);
console.log(gen.next().value);
// expected output: 10
console.log(gen.next().value);
// expected output: 20
console.log(gen.next().value);
// expected output: undefined
console.log(gen.next().value);
// expected output: undefined
iOS凭据(小票)验证库(PHP版)
ios-iap-php
iOS支付验证
install
composer require sn01615/apple-iap-php
use
use sn01615\iap\ios\Verify;
include "../vendor/autoload.php";
$cc = new Verify();
$receipt = ".."; // 凭据
$cc->endpoint(true);// 可选切,换到沙盒环境
$cc->setPassword('123');// 可选,如果是连续订阅需要密码
$vv = $cc->query($receipt);
// 打印结果
var_dump($vv);
Unexpected end of JSON input while parsing near ‘…”latest”,”merge2″:”la’
解决办法:
(1)npm install –registry=https://registry.npm.taobao.org –loglevel=silly
(2) npm cache clean –force
(3) npm install
来源:
https://blog.csdn.net/longzhoufeng/article/details/104961342
nginx: [emerg] host not found in upstream
服务器启动的时候dns解析失败,host直接绑定域名是一个解决方案,但是这样不太好
ERROR: failed to open error_log (/usr/local/var/log/php-fpm.log): Read-only file system (30)
Mar 07 17:22:59 wm php-fpm[230837]: [07-Mar-2022 17:22:59] ERROR: failed to open error_log (/usr/local/var/log/php-fpm.log): Read-only file system (30)
PHP7报错Read-only file system (30)
当你照着 此文 安装好PHP,并做好systemd服务管理文件,你会发现用systemctl start php-fpm 无法正常启动php-fpm 报了一个很奇怪的错。
ERROR: failed to open error_log (/usr/local/php/var/log/php-fpm.log): Read-only file system (30)
此时,selinux是关闭状态,普通用户对这个文件也可写,问题就迷离了。
解决方法:
打开 /usr/lib/systemd/system/php-fpm.service 把
ProtectSystem=true
改成
ProtectSystem=false
当这个值为true的时候,php-fpm进程将以只读的方式挂载 /usr 目录,这就是问题所在。具体可参考
https://www.freedesktop.org/software/systemd/man/systemd.exec.html#ProtectSystem=
或者修改日志文件路径也可以解决这个问题
