跟福哥学编程吧~~
介绍介绍福哥今天带着大家学习一下使用PHP操作Elasticsearch搜索引擎的方法,虽然我们的TFLinux早就安装了Elasticsearch搜索引擎了,但是还没有应用用到Elasticsearch搜索引擎,福哥打算先给TFPHP框架增加操作Elasticsearch搜索引擎的支持。从github上面搜了一下,发现官方提供了一个...
跟福哥学编程吧~~
介绍介绍福哥在使用Elasticsearch的时候,需要查下索引信息研究了一下方法,分享给大家教程表格格式在终端查看表格格式索引列表curl 'http://localhost:9200/_cat/indices'JSON格式在终端查看JSON格式的索引列表curl 'http://loca...
跟福哥学编程吧~~
介绍介绍福哥在通过Elasticsearch建立搜索引擎的时候发现了一个问题,同时设置文档标题和文档正文作为匹配字段的时候,如果标题或者正文没有匹配文档就无法被查询到为了解决这个问题,福哥想出了一个简单的做法教程通过同时使用 must 和 should 关键字,加上不同的匹配精度,达到比较理想的查询结果的目的示例给出一个查询示例{ ...
跟福哥学编程吧~~
Elasticsearch安装步骤下载从这个地址下载软件包 https://www.elastic.co/downloads/elasticsearchwindows用户下载 zip包linux用户下载 tar.gz包安装将下载下来的软件包解压缩,然后运行下面的命令windows.\bin\elasticsearch.batlinux...
跟福哥学编程吧~~
介绍介绍Elasticsearch是一个文档型数据库引擎,和MongoDB类似,它的数据也是以一个一个文档的形式存储起来的,同样的它的数据也是JSON数据类型的。和MongoDB最大的区别是Elasticsearch的重点是在搜索上,从名字也可以看得出来,Elasticsearch基于Lucene全文检索引擎,可以轻松建立一个BM25...
跟福哥学编程吧~~
介绍介绍我们在使用Elasticsearch进行搜索的时候,会需要对搜索结果进行调整,以达到最佳效果。影响搜索结果的取决于索引和搜索分词的匹配度,低精度要求可以是只要一个搜索分词命中就算匹配到了,高精度要求可以是每一个搜索分词都命中才算匹配到了,甚至可以要求索引必须一字不差地包含搜索关键字才算匹配到了。福哥今天带着大家来了解一下ES的...
跟福哥学编程吧~~
介绍介绍福哥在使用Elasticsearch建立搜索引擎的时候,文档有多个字段标题(title)、关键字(keyword)、正文(content),现在是全部字段都是一样权重这样查询出来的结果排序很不理想那么应该怎么办呢?福哥学到了可以通过对不同字段设置不同权重的方式改变查询结果的权重,从而影响结果排序。现在福哥要把这个技巧分享大家!...
跟福哥学编程吧~~
介绍介绍今天福哥给大家介绍一下Elasticsearch的分词查询的使用技巧,通过分词查询可以避免不是很匹配的文档出现在结果当中。举例:如果查询“北京”一般情况下都是想查询关于“北京”这个地区的相关信息,但是如果没有进行分词之前,“北”和“京”会作为单独的查询匹配项和文档中的字段进行匹配,那查询出来的结果就可想而知了。为了解决这个问题...
跟福哥学编程吧~~
介绍介绍今天开始我们要做搜索引擎的“界面”部分了,我们给这个工具起个名字——搜索器,因为我们使用的是Python编写的搜索器,所以我们的搜索器是控制台形式的。搜索器的名称是Searcher,搜索器的启动程序文件名称是Searcher.py,搜索器包含一个库文件lib/Searcher.py。搜索器的功能是这样的,启动搜索器Search...
跟福哥学编程吧~~
介绍介绍福哥今天会带着大家完成网页蜘蛛的代码的最后一个部分,实现网页源代码内容写入MySQL数据库功能,实现网页信息写入ElasticSearch搜索引擎功能。这部分功能实现了之后,我们就可以转而去编写搜索引擎的前端UI功能的代码了。要实现写入ElasticSearch就需要先连接ElasticSearch,并且需要设置一个索引名称。...
跟福哥学编程吧~~
介绍介绍我们已经设计好了搜索引擎的MySQL数据库,今天我们要开始设计ElasticSearch数据库了。ElasticSearch数据库在这个搜索引擎项目里的作用是全文检索,因为MySQL无法实现这个功能。而搜索引擎的特点是用户给出一个查询关键字,我们根据这个关键字进行全文匹配查找符合条件的文档出来返回给用户。也就是说我们只需要考虑...
跟福哥学编程吧~~
介绍介绍昨天我们已经设计好了搜索引擎的模型,搜索引擎包括两个基本模型即:网站和网页。那么接下来我们就要针对这两个模型进行数据库的设计了。设计数据库要考虑的问题很多,包括数据的大小、字段的数量、读取场景,写入场景等等。除此之外还要考虑使用什么数据库引擎,因为不同的数据库引擎的特长是不一样的,我们要充分利用它们的这些特长之处,来将我们的项...
跟福哥学编程吧~~
介绍介绍今天开始福哥将会带着童鞋们做项目了,虽然我们之前介绍了c/c++、java、php、python等等很多种编程语言,这些编程语言也可以独立完成一些项目的开发任务,但是如果要做出一个好项目,一般情况下只靠一种编程语言是不够的,所以福哥在带着大家做项目的时候,会同时将几种编程语言都用起来。我们的第一个项目叫做搜索引擎,就是模仿百度...