澳门美高梅手机网站php使用solr全文搜索引擎

前言

我看得很爽,我很喜欢,我白白协理。

  本来认为网上一度有了仿佛博文,不想再一次,可是一圈搜下来,都是一对情节不甚明了的稿子,或者solr版本太过老,参考价值不高,更有甚者,直接拷贝的外人的情节。一篇博客,各大平台都能见到,也不翼而飞转载链接。有人说百度找寻不到情节,用Google,把责任推到百度身上,但这是百度的由来呢?在境内网络的资源总体质地不高低,并且内容太多重复的情景下,百度能够提供什么高质料的情节给您。

一、故事概况

也有自家寻找资源的时候,会看到IBM开者中心的翻译文档,在篇章的最后,都会附着参考作品,可是在国内,显有这种气象。那几个拷贝别人博文的人,有没有想过,写一篇博文的没错?同样,博文作者是否也想过这个题目?话不多说,进入正题。

黑镜第四季第一集,讲了一个“屌丝”的意淫——把具备讨厌的人都决定起来。

宣称:因为我不是从事java开发,而且技术不高,日语也很差,假若作品中留存不当的表明,望谅。

其一屌丝不是传统意义上的屌丝,男主角是娱乐集团的上位技术官,公司的开拓者之一,但在社交上接近缺了根筋,所以跟同事之间的关联相处得不是很好。

参照作品:

势力的好基友、从来不笑的前台妹子,火辣可是看不起他黑妹、至于印度小哥和汉强壮的黑三哥到底何地惹了她,我也不是很了然,不言而喻男主把那个富有他嫌恶的人,全都设置进了投机的创始的单机游戏里。

solr官方文档

在这么些单机游戏里,男主可以任意操控任什么人,关键的一点是,被装置进去的人都是明知故问的,也就是一对一于这么些现实生活中的人进去了其余一个时空里,什么都没变,只是男主变成了领会所有人生死权利的大佬,现实生活中所受的所有的气,他都足以肆无忌惮地撒在这一个有意识的虚构人物上。

solr扩大php官方手册

看起来好像是一体都很好,但幸好因为虚拟人物也有觉察,所以就不是一心的服服帖帖,里面也起初有对抗了。

使用 PHP 和 Apache Solr
实现公司追寻

男主将商店新进入的阿妹也安装进游戏,妹子不服,随后联名所有人开端反抗,最后那些有意识的男主被永远地困在了娱乐之中,后来单机的娱乐的杜撰人物们也毕竟联网,终于自由了。

window环境

二、技术脑洞

1,安装solr

先是是编造人物的输入——DNA提取。

下载solr,选取相应版本,注意:因为solr对是基于java的,所以必需安装jre。每个版本的
solr对jre版本要求不雷同,下载时请留心solr的本子。

吃过的棒棒糖、留着口水印的杯子都让男主轻松地获得DNA,这样就复制了一个一心一模一样的人,那么些虚构的人跟现实生活中的真人有相同的发现和认知,唯一不同的,他们是被困在单机游戏里的假人。

编辑这篇博文时,solr的风行版本是6.6,作品也是依据6.6本子写的,其要求1.8本子或以上的jre。jre的设置,这一个就不列出了,因为太过简单。

假人有意识形态,又精通自己身陷囹圄,既然反抗不了,这就死好了,但最首假若男主但冰橱里保存了各种人的DNA,人物虚拟地死掉后(况且虚拟世界的身故绝不是割腕上吊,仍然要归根于代码),依然会被男主复活,并且从视频的设定来看,虚拟人物被复活后要么带着前面的觉察,也就是说无穷尽也地重生。

Window用户请下载zip包

简简单单的话,就是在此外一个时空里,我得以让您做其他工作,说出你的此外秘密,在抬高浸入式的玩耍体验,这样的黑科技难道不是能化解这世界上的多数题材?

澳门美高梅手机网站 1

假如暴发凶杀案,将遗体的dna提取出来输入游戏,刑侦人士也进入娱乐展开盘问和调研,真相水落石出。

将核减包解压到对应目录

各个人都得以设置这样的一个单机游戏,将去世的人复活,下了班就在娱乐里见见死去的眷属或者朋友会合,那时就不设有什么样生死之别了。

行使命令行工具,进入解压后的solr目录的bin目录

睡不到的男神女神都能在游玩里再会见了(可是视频里玩耍的设定是虚拟人物没有性器官,可能也没有性冲动了),即便不可以体会鱼水之欢,但上手上嘴还不是一拍即合?

启动solr

到时候会建立一个特地的dna尊崇机构,明星有名气的人们的dna会被珍爱地极其私密,当然也形成了一条新的产业链,他们得以向粉丝贩卖自己的dna,因为现实生活中的自己完全不会碰到其他影响。

运作命令: bin\solr.cmd start

经贸大佬和文学大师也是重点保养的靶子,因为文化侵权和商业泄密可能会变得更严重。

澳门美高梅手机网站 2

到时候市面上已经没有红色影片了,什么番号也都不会冒出了,全部成了某某人dna的行列号,宅男会愈加多,女优也会越来越多,毕竟买个dna就足以赚取的事,什么人不做何人就傻。

 

只可是复活现在的人已经是不丰硕的了,那时的科技说不定已经能领到远古人物的dna了,往前了说就是木乃伊,将来说就是何许Marilyn梦露啊,希特勒啊,鲁迅啊,通通都能在编造世界里复活,这才是实在的和野史的对话,可以把这一点用在教育内部,浸入式游戏算怎么,浸入式学习才是继承推向人类前进的引力。

 

只然而人也没看头啊,动植物也行,什么史前的古生物也都能复活,这宛如就别玩什么考古了,浸入式体验让你能摸到一根源于几百万年钱的动物皮毛,这感觉才是令人浑身一震。

小心:solr有二种格局:core,collection,假诺要动用collection,请加-c或者-cloud,启用solrClund。两者之间的区别,我不敢妄下定论。从寻找的资料综合分析,一个是单机,一个是集群,此处仅供参考,可能存在似是而非。

到时候克隆人的试行也再没有此外争持了,任何实体的试验都是可以在联网的条件下促成。

solr默认监听的是8983端口

但dna太好提取了也会引发红恐慌,人们不会再出来聚餐了,会谨慎地拍卖自己的餐具和厨房抛弃物,家人和爱侣之间的真情实意关系会逐年衰弱,因为人们花更多的光阴在虚拟空间里,当人实在可以“为所欲为”的时候,现实世界对她们还有充分的诱惑了吧?

更多命令用法,请使用solr -help,如果solr已经启动,请使用solr start
-help。

自然,在虚拟世界里也不可以为所欲为,新的法律制度和规则会被确立起来,意识警察会现身,只假使在联网的环境下都会怀有限制,在无界定的条件下举行有限的条条框框,原本游戏的初衷可能会相去甚远。

如若开行成功,可以在浏览器中开辟:http://localhost:8983/solr/,使用其web管理客户端。

还有个问题,开首我认为男主只是被困在虚拟世界里了,在现实生活中依然存在。

2,查看solr范例

但情人说,因为系统升级的由来,男主的发现被永远地困在了虚拟世界中间,所以一定于在现实生活中早已相当于行尸走肉了,那下他能够远离他讨厌的同事了。

先停止solr实例

但我依然有个问号,那么些回到了联网时代的杜撰人物们,必定会跟现实生活中在此之前在戏耍中设定的角色重合,也就是说男主讨厌的同事们事先在联网环境下是有温馨的角色的,他们会不会发觉到自己一度被复制了一个角色,这么些重叠的虚拟人物们会不会告密,将男主做的作业告知另一个“自己”,随之真实的人得知所有的音信呢?

bin\solr.cmd stop

三、现实的意义

再启用solr范例

正如我在地点所说,当人类真的可以在编造世界里“为所欲为”的时候,现实世界对于人类来说还有意义吗?

bin\solr.cmd -e techproducts

看起来第一集讲述了职场的困扰,不过用在生活中也是绰绰有余的,暴发争辩的妻儿,不爽的意中人,睡不到的男神女神,惩罚讨厌的人,接近喜欢的人,所有事务的都按照的温馨的喜好而来,直指人性的痛点——趋利避害。

开辟web管理客户端:http://localhost:8983/solr/,查看结果

这是本能无可厚非,不然人类也不会从杀机四伏的远古时代活到现在,但人类尚未了害怕和焦虑,这只可以叫生存,叫生活就遥不可及了。

澳门美高梅手机网站 3

于是这世上有没有人是一点一滴没有抑郁的呢?

基于结果,可清楚,techproducts范例中共有32篇随笔。

未曾了沉闷和忧患,我们继承生活下去的重力到底来自于啥地方啊?

近年来可以品味他的询问效用。

是好的东西主助推我们的生存,如故那个源自于人性里最坏的单方面?

自己在q输入框中输入了三星,其拿走的结果如下图澳门美高梅手机网站 4

《黑镜》不只是一部脑洞打开的名片,更多的是从人性最深处出发的沉思和开创,但黑镜所有的多样都在外表一个真相,人性才是最大的黑科技。

3,添加文(Gavin)档

澳门美高梅手机网站 5澳门美高梅手机网站 6

添加好后,进入查询界面,看能否查到这篇文档

澳门美高梅手机网站 7

4,删除文档

澳门美高梅手机网站 8

重返查询界面,查询删除后的结果

澳门美高梅手机网站 9

solr是透过Request-Handler指令操作文档的,solr项目拥有的Request-Handler指令都定义在档次目录的conf文件夹下的solrconfig.xml文件里requestHandler标签中。

关于文档操作更详细的求证请参考:

Indexing and Basic Data
Operations
 

Uploading Data with Index Handlers
 

 

5,创建solr项目

当今学会一些主干的操作,可以友善创设一个序列录了。

先把截止solr

solr.cmd stop -all

solr是一个实例可以有六个core或collection,虽然不先截止,创制的core将会添加到启用的techproducts实例中

solr.cmd create -c test

 

澳门美高梅手机网站 10

双重刷新web客户端

澳门美高梅手机网站 11

6,下载php的solr扩展

当今初始使用php和solr交互了,所以必需安装solr扩张,下载地址

下载解压之后,将里面的dll文件放到php的扩充目录,对于php扩充所在目录,然后在php.ini开启solr扩张,再通phpinfo查看是否健康安装。

我默认所有读者都知道php扩张配置格局,所有这里不详细描述。

专注:php有Thread Safe和NoneThread
Safe之分,下载以前,请先确定你安装的php是哪一类档次。

7,使用php脚本添加文档

$options = array
(
    'hostname' => "localhost",
    'path'     => 'solr/test',
    'port'     => '8983',
);

$client = new SolrClient($options);
$data = array(
    array(
    'id' => 'EN80922032',
    'name' => '男士打磨直筒休闲牛仔裤',
    'brand' => 'ENERGIE',
    'cat' => '牛仔裤',
    'price' => '1870.00'
    ),
    array(
    'id' => 'EN70906025',
    'name' => '品牌LOGO翻领拉链外套',
    'brand' => 'ENERGIE',
    'cat' => '外套',
    'price' => '1680.00'
    ),
);


foreach($data as $key => $value) {
    $doc = new SolrInputDocument();
    foreach($value as $key2 =>$value2) {
      $doc->addField($key2,$value2);
    }
   $client->addDocument($doc); 

}
$client->commit();

在solr的web客户端询问的结果

澳门美高梅手机网站 12

更多实例请见:php的solr扩充官方文档

只顾:参考官方文档时,注意其连续参数,依其博文必需有path参数,path参数是”solr/”,加上你用solr创设的core名称。

9,使用php脚本查询文档

$options = array
(
    'hostname' => "localhost",
    'path'     => 'solr/test',
    'port'     => '8983',
);

$client = new SolrClient($options);
$query = new SolrQuery();

$query->setQuery('打磨');

$query->setStart(0);

$query->setRows(50);

$query->addField('name');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

输入的结果

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 3
            [params] => SolrObject Object
                (
                    [q] => 打磨
                    [indent] => on
                    [fl] => name
                    [start] => 0
                    [rows] => 50
                    [version] => 2.2
                    [wt] => xml
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 1
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [name] => Array
                                (
                                    [0] => 男士打磨直筒休闲牛仔裤
                                )

                        )

                )

        )

)

10,使用php脚本删除文档

$client->deleteByQuery('id:EN80922032'); 
$result = $client->commit();
print_r($result);

出口的结果正确看懂

可以应用第九条“使用php脚本查询文档”,查看删除后的结果,也可以用web客户端查看结果。

11,更新文档

更新文档和增长文档一样,只要在数码中指定要翻新的id即可。

12,添加搜索提议

在添加的core的conf文件里sorlconfig.xml中新增一追寻提出组件。依本博文,目录地址为:solr-6.6.0\server\solr\test\conf\solrconfig.xml

配置只在solr6.6上通过测试,不能确保可在其他solr版本中应用

  <searchComponent name="suggest" class="solr.SuggestComponent">
    <str name="queryAnalyzerFieldType">string</str>    
    <lst name="suggester">    
        <str name="name">suggest</str>      

        <str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookupFactory</str>      
        <str name="field">title</str>      
        <str name="buildOnOptimize">true</str>    
        <str name="buildOnCommit">true</str>         
    </lst>      
  </searchComponent>        

  <requestHandler name="/suggest" class="solr.SearchHandler" 
                  startup="lazy" >
    <lst name="defaults">      
       <str name="suggest">true</str>   
        <str name="suggest.dictionary">suggest</str>    
        <str name="suggest.count">10</str>        
    </lst>      
    <arr name="components">      
        <str>suggest</str>      
    </arr>      
  </requestHandler>  

23,添加国语分词

solr自带了闽南语分词功用,依本博文,目录地址为:solr-6.6.0\contrib\analysis-extras\lucene-libs\lucene-analyzers-smartcn-6.6.0
.jar。

第一查看sorlconfig.xml配置文件是否早已安排了这一个分配库的地方

<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />

假使没有,请配置分词库的地点。

在managed-schema文件中新增一个字段类型

<fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
      </analyzer>
      <analyzer type="query">
         <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
       </analyzer>
    </fieldType>

然后将相应字段的序列设置成text_cn,例如,本博文中将name设为text_cn类型

<field name="title" type="text_cn" indexed="true" stored="true" required="true" multiValued="true"/>

 在后台采用相应的core,点击【analysis】菜单,在字段值中输入相应闽南语,在菲尔德(Field)name/菲尔德(Field)Type中挑选相应设置了字段类型为text_cn的字段,或者直接采纳text_cn字段类型,点击【analysis】查看分词效果

澳门美高梅手机网站 13

澳门美高梅手机网站,为何要安装闽南语分词呢?

在说原因从前,我们先查看使用其余字段类型分析结果。

澳门美高梅手机网站 14

solr因为不匡助中文,将会对情节时行最小分割,一个词一个目录,假如不接纳粤语分词,将发生大量的目录,以满意粤语的物色需求。(此为个人观点,未佐证,请务盲目相信)。

另外,假使不采用中文分词,那搜索提出只好回去单个中文字。新增一条文档记录,测试搜索提出的结果是否真是这样。

只顾:测试这么些效用时,请将包含中文的字段改为未设置中文分词的字段类型,更改后重启solr,不偏不倚新添加一条文档,文档中的粤语词汇必需是
solr现有文档中不存在的词汇。

新增文档

澳门美高梅手机网站 15

以下是浏览器搜索结果

澳门美高梅手机网站 16

测试成功,我们将此文档删除,不分互相新添加这些文档,将字段类型更加中文分词类型,即本博文中新增的
text_cn 。

专注:删除文档之后,最好查询一下,solr中是还留存此文档,以防再次文档未被删除.

澳门美高梅手机网站 17

重复寻找

澳门美高梅手机网站 18

截至语:水平有限,只好写这样多。倘诺有时光,我将不止革新此博文。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注