很多站长朋友们都不太清楚php解析solr,今天小编就来给大家整理php解析solr,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 在windows系统上,solr中怎么配置中文分析器 2、 solr php里中文分词怎么用 3、 php代码是怎么被解析的 4、 php solr 服务端安装完成以后怎么操作 5、 PHP实现泛解析 6、 sphinx和solr哪个更适合php站点 在windows系统上,solr中怎么配置中文分析器1、安装libssstrong扩展带dll的就是windows用的。根据自己的环境选择安装包。这里选择的是5.5ThreadSafe(TS)x64解压完后,会有三个文件,libssstrong.dll、php_ssh.dll、php_ssstrong.pdb。将php_ssh.dll、php_ssstrong.pdb放到你的php扩展目录下php/ext/下。将libssstrong.dll复制到c:/windows/system32和c:/windows/syswow64各一份php.ini中加入extension=php_ssstrong.dll重启服务器,查看phpinfo(),是否有显示php_ssstrong扩展加载成功。2、安装solr扩展(2.3.0)下载,带dll的就是windows版的。将压缩包的php_solr.dll、php_solr.pdb放到你的php扩展目录下php/ext/下。php.ini中加入extension=php_solr.dll重启服务器,查看phpinfo(),是否有显示solr扩展加载成功。
solr php里中文分词怎么用可以看手册。
希望我的回答可以帮到你,有什么不懂可以追问。
php代码是怎么被解析的php代码的编译分4个步骤(下面4步参考依据:chenglin博客);
1.Scanning(Lexing) 将PHP代码转换为语言片段(Tokens);
2.Parsing 将Tokens转换成简单而有意义的表达式;
3.Compilation 将表达式编译成Opocdes;
4.Execution 按顺序执行Opcodes,每次一条,从而实现PHP脚本的功能。
php solr 服务端安装完成以后怎么操作看文档,用 nutch 抓取数据,再用 solr 展示 XML,如果你要用国产的 r3 也行:
;q=Nutch
PHP实现泛解析1 泛解析域名到你的服务器IP,
2 IIS里面创建一个空主机头的站点,用于接收请求。
3 通过PHP系统变量 $_SERVER[''HTTP_HOST'] 获取当前访问的域名。
4 根据当前访问的域名获取到用户名,再获取其他信息。
sphinx和solr哪个更适合php站点建议使用Elasticsearch和solr一样,使用lucene
这个和php无关,因为无论哪个工具,都是通过网络接口查询,所以我不回答有关是否适合php的情况~~
## ES 缺点
基于java,会有一些java的常见问题需要注意,比如gc
单纯执行速度上比C写的sphinx慢
## sphinx 优点
纯粹,没有什么花哨的其他功能
C写的,速度快
新版本加了分布式、动态更新索引等功能
## 下面列举Es比sphinx优秀的部分
1、部署简单,虽然sphinx部署也挺简单,但是在书写配置的时候,你会发现,sphinx的配置是要写好后,重启sphinx,而Elasticsearch针对某个索引的配置,是可以动态写入的。
2、调试简单,sphinx有命令行工具可以调试,而Elasticsearch使用的是http接口进行调试,不需要专门的API类,几行php代码就可以写一个Elasticsearch的API。
3、可视化工具比较多,有收费的,也有免费的,比如kibana head marvel。
4、提供结构化的JSON查询语句,易读性强
5、Es可以保留源数据(可选),也就是说,你可以不需要mysql的支持,就可以完成整个搜索过程,即使你不需要这个功能,在调试的时候,还是让人感到非常便利,不用将查询结果到数据库匹配一下。
6、Es可以动态更新全文索引,动态更新单个记录,而不像sphinx一样需要重建全部
7、对UTF8的支持是不需要单独配置的
## 从中文分词上来说
首先我觉得分词最重要的基本都是词库,分词算法两个工具基本都可以使用。
lucene 支持很多分词工具,比如
word
比如ik
这两个工具最近都很活跃,因为Es更新2.0 和 2.1
比较分词区别(sphinx可能有误):
sphinx分词 我不太熟悉它的机制,多数情况下我使用scws分词,发送给sphinx,然后设置匹配规则,比如最大匹配(我基本都是基于模糊匹配在用sphinx)
Es的全文索引是基于分词的,也就是事先分好词,每个词对应某些记录,自动进行TF/IDF的运算,得到一个评分后返回,当然这个评分可以改(sphinx同样支持修改评分),这种检索方式肯定更快,但是受到分词限制,所以我每个字也分词,然而这样可能影响分数判断。
另一方面ES也支持类似sphinx的匹配方式,叫做fuzzy,模糊匹配,一般会一起使用,一个词不在分词库中的时候,就用fuzzy,所以Es在功能上,应该和sphinx不会有太多差别,而且应该要更多。
## 个人方面
我在使用shpinx的时候,会查3次,一次完全按照用户输入的查(如果用户没有输入空格),一次按照空格分开查或者分词系统分词结果查,一次按照单个字来查(前提是前面两个结果太少)。
在用Es的时候,如果没有办法正确分词,会按照fuzzy + 单字查(可以同时进行),如果有办法分词,按照分词结果 + 单字查(可以同时)
## 后期维护上:
sphinx的配置文件在mysql分表之后,维护起来是比较麻烦的,你可以用php脚本当做配置文件,这样会好很多。
Es的索引是可以主动发给它去建立的(通过http接口),分表之后,它不关心数据库状态和结构。新增字段可以热更新。
## 扩展性上:
Es和sphinx都支持分布式索引,扩展性都没有问题
两者都支持别名,Es的别名加上动态建立索引,使得更换索引结构或者重建索引后,支持0宕机时间。而sphinx的rotate选项可以动态更新索引(不知道能不能动态创建索引,因为sphinx我在使用的时候,索引都要求写在配置文件里。
性能方面没有测试数据。从直观感受上sphinx要快一些。
关于php解析solr的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php解析solr PHP解析jt808数据的详细内容...