首页 > 作文

分布式全文搜索解决方案

更新时间:2023-04-07 12:33:23 阅读: 评论:0

1.安装jdk

elasticarch是用java语言开发的,其运行需要安装jdk。

jdk (java development kit) ,是整个java的核心,包括了java运行环境(java runtime envirnment),一堆java工具和java基础的类库(rt.jar)。

2.安装elasticarch

安装好后,配置环境变量。

然后打开命令行窗口 执行命令 elasticarch -d 启动elasticarch

注:该命令行窗口 不要关闭。

浏览器打开

出现以上界面,则启动成功

2.1(选装)安装elasticarch-head

elasticarch-head是一个用于浏览elasticarch集群并与其进行交互的web项目

github托管地址:

安装:打开命令行,切换到elasticarch-head目录,执行以下命令

npm install

启动:打开命令行,切换到elasticarch-head目录,执行以下命令

npm run start

由于跨域(elasticarch位于9200端口),需要添加配置: e:\elasticarch-7.1.0\config\elasticarch.yml中

#新添加的配置行http.cors.enabled: truehttp.cors.allow-origin: "*"

2.2安装elasticarch-php

使用compor安装:在项目目录下,执行以下命令

compor require elasticarch/elasticarch

配置php.ini的sys_temp_dir

3.elasticarch基本使用

3.1 基本概念

3.1.1 节点与集群

elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 elastic 实例。

单个 elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。

3.1.2 索引

在elasticarch中存储数据的行为就叫做索引(indexing)

在elasticarch中,文档归属于一种类型(type),而这些类型存在于索引(index)中类比传统关系型数据库:

relational db -> databas -> tables -> rows -> columnlasticarch -> indices   -> types  -> documents -> fields

elastics我敬佩的人earch集群可以包含多个索引(indices)(数据库)

每一个索引可以包含多个类型(types)(表)

每一个类型包含多个文档(documents)(行)

然后每个文档包含多个字段(fields)(列)。

3.2 基本使用

3.2.1 创建索引

$es = \elasticarch\clientbuilder::create()->thosts(['127.0.0.1:9200'])->build();$params = [    'index' => 'test_index'];$r = 自我评价材料$es->indices()->create($params);dump($r);die;

预期结果:

array(3)海灵菇 {  ["acknowledged"] => bool(true)  ["shards_acknowledged"] => bool(true)  ["index"] => string(10) "test_index"}

3.2.2 添加文档(索引文档)

$es = \elasticarch\clientbuilder::create()->优秀美文摘抄thosts(['127.0.0.1:9200'])->build();$params = [    'index' => 'test_index',    'type' => 'test_type',    'id' => 100,    'body' => ['id'=>100, 'title'=>'php从入门到精通', 'author' => '张三']];$r = $es->index($params);dump($r);die;

预期qq超长网名结果:

array(8) {  ["_index"] => string(10) "test_index"  ["_type"] => string(9) "test_type"  ["_id"] => string(3) "100"  ["_version"] => int(1)  ["result"] => string(7) "created"  ["_shards"] => array(3) {    ["total"] => int(2)    ["successful"] => int(1)    ["failed"] => int(0)  }  ["_q_no"] => int(0)  ["_primary_term"] => int(1)}

3.2.3 修改文档

$es = \elasticarch\clientbuilder::create()->thosts(['127.0.0.1:9200'])->build();$params = [    'index' => 'test_index',    'type' => 'test_type',    'id' => 100,    'body' => [        'doc' => ['id'=>100, 'title'=>'es从入门到精通', 'author' => '张三']    ]];$r = $es->update($params);dump($r);die;

预期结果:

array(8) {  ["_index"] => string(10) "test_index"  ["_type"] => string(9) "test_type"  ["_id"] => string(3) "100"  ["_version"] => int(2)  ["result"] => string(7) "updated"  ["_shards"] => array(3) {    ["total"] => int(2)    ["successful"] => int(1)    ["failed"] => int(0)  }  ["_q_no"] => int(1)  ["_primary_term"] => int(1)}

3.2.4 删除文档

$es = \elasticarch\clientbuilder::create()->thosts(['127.0.0.1:9200'])->build();$params = [    'index' => 'test_index',    'type' => 'test_type',    'id' => 100,];$r = $es->delete($params);dump($r);die;

预期结果:

array(8) {  ["_index"] => string(10) "test_index"  ["_type"] => string(9) "test_type"  ["_id"] => string(3) "100"  ["_version"] => int(3)  ["result"] => string(7) "deleted"  ["_shards"] => array(3) {    ["total"] => int(2)    ["successful"] => int(1)    ["failed"] => int(0)  }  ["_q_no"] => int(2)  ["_primary_term"] => int(1)}

本文发布于:2023-04-07 12:33:21,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/3cf5efc7a81cacff7d01aa96701c4e0a.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:分布式全文搜索解决方案.doc

本文 PDF 下载地址:分布式全文搜索解决方案.pdf

标签:多个   索引   文档   集群
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图