kanjiushi

287 经验值

视频好久没更新了,站长要不讲一下React Native做APP?

后端用laravel +laravel-graphql这个包,前端用Apollo Client + React Native + Relay + apollo-link-state这个包,不要用Redux来管理状态。

**已完成工作:** 

 1、已在本地windows机器上安装好了elasticsearch及相关插件。 

2、然后在laravel中安装好了elasticsearch-php客户端。

 3、写了如下这么一个SearchController控制器:

<?phpnamespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;

class SearchController extends Controller
{

    protected $client;

    public function __construct()
    {
        $this->client = \Elasticsearch\ClientBuilder::create()->build();
    }

    public function index()
    {
        $params = ['index' => 'node', 'type' => 'article', 'body' => ['query' => ['match_all' => []]]];
        $response = $this->client->search($params);
        print_r($response);
    }

    public function create()
    {
        $params = ['index' => 'node', 'type' => 'article', 'id' => '1029', 'body' => ['query' => ['match_all' => []]]];
        $response = $this->client->index($params);
        print_r($response);
    }

    public function store(Request $request)
    {
    }

    public function show($id)
    {
    }

    public function edit($id)
    {
    }

    public function update(Request $request, $id)
    {
    }

    public function destroy($id)
    {
    }
}

**问题描述:** 

1、虽然完成了以上3步,但现在没有头绪,看文档也看不出个步骤来。具体表现就是:假如我现在就要对一个名为`articles`的数据表进行索引和查询,还需要做什么?最好说一下每一步怎么做。谢谢。 

 2、'index' 、 'type' 、'body'是什么含义? 

3、如果不用mysql,直接使用ES保存索引,那索引文件默认在什么目录?

我的windows 10 上有wnmp环境,框架是laravel 5.2 ,现在安装Elasticsearch 2.3.3来试用一下,下面是参照了一些百度到的资料后,安装Elasticsearch 2.3.3的过程记录:

```

windows 10上安装Elasticsearch的过程记录 

一、安装和配置Java JDK 

1、下载:http://download.oracle.com/otn-pub/java/jdk/8u92-b14/jdk-8u92-windows-x64.exe 

2、设置环境变量:

 (1)点击【系统变量】下的【新建】按钮 

变量名:  JAVA_HOME  

变量值:  C:\Program Files\Java\jdk1.8.0_92 

(2)按照同样的方式创建系统变量classpath 

变量名:  classpath 

变量值:  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar  

(3)在已有的系统变量 path 的变量值的最后加入以下变量值

 ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 

3、查看是否安装成功 

java -verison或javac -version 



 二、安装和配置Elasticsearch 

1、下载:https://www.elastic.co/downloads/elasticsearch   //我下载的2.3.3版本 

2、解压到d:\elasticsearch-2.3.3目录 

3、配置Elasticsearch 

(1)配置 config\elasticsearch.yml文件 

cluster.name: lgs-es 

node.name: node-1 

(2)配置 bin\elasticsearch.in.bat文件 

set ES_MIN_MEM=4g 

set ES_MAX_MEM=4g 

4、运行服务双击 bin\elasticsearch.bat 运行 



 三、安装Elasticsearch插件 

1、安装head插件(head是ES的web控制台。) 

bin/plugin.bat install mobz/elasticsearch-head 

安装后在浏览器输入http://localhost:9200/_plugin/head/ 运行 


 2、安装kibana插件 

(1)下载地址: https://www.elastic.co/downloads/kibana 

(2)解压到d:\kibana-4.5.1-windows目录 

(3)配置config\kibana.yml文件elasticsearch.url: "http://localhost:9200

(4)bin\kibana.bat  //启动kibana 

(5)浏览器输入http://localhost:5601 


3、安装sense插件(sense是ES的调试工具,可以方便地通过浏览器给ES集群发送各种请求。) 

bin/kibana plugin --install elastic/sense 


 4、安装marvel插件 

(1)安装Marvel到Elasticsearchbin/plugin install license      //先安装license插件 

bin/plugin install marvel-agent 

 (2)安装Marvel到Kibana 

bin/kibana plugin --install elasticsearch/marvel/latest 

 (3)启动Elasticsearch和Kibana 

bin/elasticsearchbin/kibana 

 (4)浏览器输入:  

http://localhost:5601/app/marvel 


5、安装elasticsearch-analysis-ik插件(ik是中文分词插件。) 

a、安装elasticsearch-analysis-ik之前先安装maven 

(1)下载maven: https://maven.apache.org/download.cgi 

(2)解压到C:\Program Files (x86)\apache-maven-3.3.9 

(3)新建环境变量:变量名:MAVEN_HOME变量值:C:\Program Files (x86)\apache-maven-3.3.9 

(4)在PATH中加入maven的bin的路径;%MAVEN_HOME%\bin  

(5)在命令提示符输入mvn -v ,成功会显示相关信息。 


b、安装elasticsearch-analysis-ik插件 

(1)下载压缩包https://github.com/medcl/elasticsearch-analysis-ik 

(2)解压到d:\elasticsearch-analysis-ik-master 

(3)cd d:\elasticsearch-analysis-ik-master 

(4)mvn package //用maven打包 

(5)在elasticsearch-2.3.3\config和elasticsearch-2.3.3\plugins目录下都新建一个ik文件夹 

(6)把打包生成的zip文件D:\elasticsearch-analysis-ik-master\target\releases\elasticsearch-analysis-ik-1.9.3.zip拷贝到plugins/ik下,并解压。 

(7)分词库(D:\elasticsearch-analysis-ik-master\config中的内容)放到config/ik目录下 

(8)重启es,测试http://localhost:9200/_analyze?analyzer=ik&pretty=true&text=java%E9%AB%98%E7%BA%A7%E5%B7%A5%E7%A8%8B%E5%B8%88


```



**问题:** 

1、除了上面安装的插件,还有哪些常用的插件需要安装? 

2、现在我进行到上述安装记录的最后一步,接下来应该做什么和怎么做呢? 

bootstrap和semantic-ui一起用会冲突吗?

使用 Laravel 5.2 和Zizaco/entrust 5.2这个包的时候,  怎么改变用户的角色呢?   

比如:

有一个用户Jim,他现在的角色是vip,30天后到期,到期后自动变为普通用户,3张表如下:

users

     id      name         email                   password
     1       Jim          Jim@example.com         ****** 

 roles   

id       name     
1        vip    
2        ordinary

 role_user 

user_id      role_id    
1                1 

类似用百度文库的时候,下载一个文件,这个文件需要1个下载券,当第一次下载的时候,就会扣掉1个下载券,当这个帐号再次下载这个文件的时候,就不会再扣下载券。 

我想会有一个download_records表,和users表一对多关联,每下载一个文件,就往download_records表写入一条记录,那么,记录的具体内容是什么呢,是这个文件的路径+文件名吗?还是其他什么东西呢?

站长录视频用的什么软件和硬件?   

编辑视频用的什么软件?