solr学习笔记

1 下载地址 http://lucene.apache.org/solr/

wget https://mirrors.tuna.tsinghua...
tar -zxvf solr-8.1.0.tgz

2 运行 停止

切换到目录(solr-8.1.0/bin)
./solr start -force
./solr start -p 9529 -force (指定端口)
./solr stop -all
启动错误提示 Your Max Processes Limit is currently 将solr-8.1.0/bin/solr.in.sh文件中,SOLR_ULIMIT_CHECKS设置为false
浏览器输入 http://127.0.0.1:9529/solr

3 修改时区

修改文件 solr-8.1.0/bin/solr.in.sh
SOLR_TIMEZONE=PRC

4 创建core实例

首先去目录solr-8.1.0/server/solr/ 创建一个名字为new_core的文件夹(如:fgou)
然后拷贝把目录solr-8.1.0/server/configsets/basic_configs下的conf目录拷贝到fgou目录下
cp -r /usr/local/src/solr-8.1.0/server/solr/configsets/_default/conf  /usr/local/src/solr-8.1.0/server/solr/fgou/ 
然后再点击创建即可
solr学习笔记_第1张图片

5 配置中文分词

下载IK分词器 https://pan.baidu.com/s/1fZ52... 提取码:f76c
IKAnalyzer下载后解压会有如下文件
solr学习笔记_第2张图片

把核心jar文件复制到solr WEB应用的lib文件夹下 solr学习笔记_第3张图片

把配置文件和词库等文件复制到WEB应用的classes文件夹下,如果子WEB-INF下没有这个文件夹自己创建即可 solr学习笔记_第4张图片

在配置文件managed-schema中增加如下配置


    
      
   
    
      
    


重启服务 这样就可以选择到ik分词了,创建个
solr学习笔记_第5张图片

6 导入MYSQL数据

首先在D:/server/solr-7.4.0/dist目录下复制如下的jar包
图片描述
复制到 D:/server/solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib
再到 https://search.maven.org/search?q=mysql-connector下载mysql-connector 
复制到D:/server/solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib目录下
在D:/server/solr-7.4.0/server/solr/fgou/conf/solrconfig.xml配置数据库文件信息

       
           fgou-config.xml
       

创建fgou-config.xml文件





    
        
        
        
        
        
    


在managed-schema中配置字段检索使用的分词器

修改:gid
  新增:
  
  
  
  
  
  

重启服务
建立全量索引

solr学习笔记_第6张图片

建立增量索引

solr学习笔记_第7张图片

查询

solr学习笔记_第8张图片

7 php api调用

//solr 查询 
    public function solrQuery($core='fgou',$fl='gid',$fq='status:1',$q='gid:1',$sort='gid desc,sell desc',$start=0,$rows=10){
         $fl = urlencode($fl);
         $fq = urlencode($fq);
         $q = urlencode($q);
         $sort = urlencode($sort);
         $url = 'http://127.0.0.1:9529/solr/'.$core.'/select?fl='.$fl.'&fq='.$fq.'&q='.$q.'&sort='.$sort.'&rows='.$rows.'&start='.$start;
         $res = file_get_contents($url);
         $resArr = json_decode($res,true);
         return $resArr['response']; 
     } 
    //solr 更新索引 
    public function solrIndex($core='fgou'){
         $url = 'http://127.0.0.1:9529/solr/fgou/dataimport?indent=on&wt=json';
         $param = [
             'command'=>'delta-import',
             'verbose'=>'false',
             'clean'=>'false',
             'commit'=>'true',
             'core'=>$core,
             'name'=>'dataimport',
         ];
         $this->httpCurl($url,$param); }
     }

参考资料:

https://blog.csdn.net/u010510107/article/details/81051795
https://www.jianshu.com/p/4e86df9532d9
https://blog.csdn.net/lhc0512/article/details/82315354
https://www.jianshu.com/p/9ec946fb5be7
https://www.cnblogs.com/davidwang456/p/4744415.html

你可能感兴趣的:(php,solr)