• solr服务搭建和查询使用

    一:搭建solr服务 1.进入solr官网进行下载:http://lucene.apache.org/solr/; 2.将解压的solr放入指定的文件夹: ; 3.由于solr有自带服务器,所以可以通过自带服务器进行启动: 所以底下进入这个目录 ; 然后shift+鼠标右键选择进入Powershell窗口 执行solr start命令可以启动(注意:可能大部分情况使用.\solr start 命令才有效) 然后就启动了(启动默认端口是8983) 现在solr服务搭建成功; 二 底下springboot+solr 1.配置application.yml spring.data.solr.host: http://xxx.xxx.xx.xxx:8983/solr/ciri_core 2.引入jar包 <dependency> <groupId>org.springframework.boot<...
    • 0
    • 9
    • 1
    • 2019-11-12
  • nginx配置HTTPS

    最近公司出钱,买到了一个域名下的https证书,我来配置下。 1,scp 命令将阿里买到https证书上传到nginx 目录下,可以建立一个文件夹专门放不同的证书,我这里就只放一个,就直接扔根目录下了。 2,配置nginx.conf配置文件。 (1),将原来的监听80端口的server 改为监听443 ssl端口,并且加上 ssl_certificate 和 ssl_certificate_key来分别对呀下载的.pem 和 .key文件的全路径地址。 此时,访问https应该是能够正常访问了,但是,这时候再去访问http的80端口,仍然可以访问到http协议的地址,这时候,我们就要将监听的80端口,转发到443端口上了做到强制https访问了。 (2),新建一个监听80端口的server,然后加上 rewrite ^ https://$server_name$request_uri? p...
    • 2
    • 17
    • 0
    • 2019-10-29
  • 微信公众号授权流程整理

    我们在微信公众号下获取微信授权以及绑定账户的时候,有很多流程要做。需要判断好多次各种条件,所以整理了一下流程图。 再次吐槽下腾讯的文档以及规范,果然业界出名的差。
    • 0
    • 30
    • 4
    • 2019-10-27
  • 为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

    在Java开发中,最简单最常用的就是用+号来拼接字符串: String boy = "lhc"; String girl = "amy"; String love = boy + girl; 反编译后内容如下: String boy = "lhc"; String girl = "amy"; String love = (new StringBuilder()).append(boy).append(girl).toString(); 通过查看反编译以后的代码,可以发现,字符串常量在拼接的时候是将String转成StringBuilder后, 使用其append进行处理,StringBuilder 的 append 方法就是第二个常用的字符串拼接其实他是和String一样也是封装了一个字符数组char[]value,只是与String不同的是,他不是final,所以是可以修改的。 其 ap...
    • 0
    • 43
    • 2
    • 2019-10-25
  • python3 django2.5 celery4.3 redis 分布式异步任务调度

    环境: python 3.7.3 pip install redis pip install --upgrade https://github.com/celery/celery/tarball/master 项目目录结构: celery.py内容 from __future__ import absolute_import, unicode_literals import os from celery import Celery # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'OpsMonitorAlert.settings') from django.conf import settings app...
    • 2
    • 10
    • 1
    • 2019-10-25
  • 使用ansible playbook api 实现多主机部署发布

    背景 一个组件发布会对应多台主机,如下: ‘component name’: { 'hosts': [{'ip': '0,0,0,0', port : 22 ,'username':'root', 'password': '11111111'},...] group_vars: {} } hosts 对应的就是多台主机属于同一个组件 group_vars 就是发布部署所需要的一些配置信息,可以理解成业务变量信息 自定义二次开发 InventoryManager from ansible.inventory.manager import InventoryManager class WadeInventory(InventoryManager): """ 用于动态生成Inventory的类. """ def __init__(self, loader, re...
    • 0
    • 11
    • 2
    • 2019-10-24
  • 在linux上安装elasticsearch简称ES

    前言 Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作: 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。 实时分析的分布式搜索引擎。 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据 Elasticsearch具备以下特点: 分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心) Restful风格,一切API都遵循Rest原则,容易上手近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。 安装 我们将在linux下安装Elasticsearch。 虚拟机(需要JDK1.8以上) 先新建一个用户(出于安全考虑...
    • 3
    • 25
    • 0
    • 2019-10-18
  • 单元测试框架-mockito初探

    对于我们java开发者来说,提到单元测试都会说Junit。确实,Junit是我们用的最多的测试库,但是Junit在面对某些情况的时候,会有点不好搞。比如,你的方法里有依赖外部服务,比如rpc的远程调用,api服务的返回等。而Junit我们更关注结果的返回,而mockito呢,则更多的是在mock数据方面。 今天我们下面简单介绍下mockito 首先我们在pom中引入mockito <!-- https://mvnrepository.com/artifact/org.mockito/mockito-core --> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>2.27.0</version> <scope>test</sc...
    • 1
    • 18
    • 0
    • 2019-10-18
  • react快速开始二 本地配置

    前言 很早之前写了个codepen的react教程,方案很简单,引入react、react-dom依赖,其他主要是要熟悉codepen的使用。 这个方案对于想快速上手了解react的有一定用处,但是在实际项目中还是需要本地配置一套基于react的项目结构。 目前脚手架存在的问题 一般的框架都会有对应的cli,比如vue-cli, angualr-cli, create-react-app,最近发现react、vue的cli都将细节配置给隐藏掉了(主要是webpack配置),只能通过config变量自定义webpack配置,各种框架的方式还不太一样,react需要单独引入新的库去修改,好处是屏蔽了细节配置,将最复杂的webpack配置隐藏掉,用户开箱即用,坏处是对于初学者来说屏蔽了最复杂的配置项, 进阶的路上容易忽略掉重点。 最近有个小需求,也开始从0搭建了一个react项目, 异常的艰难,...
    • 1
    • 7
    • 0
    • 2019-10-17
  • 小白初体验Lucene

    前言 搜索就是搜寻,查找,百度 在IT行业中就是指输入关键字,通过相应的算法,查询并返 回所需要的信息。比较日常的话可能就是对数据库的查询搜索 SELECT .. WHERE ..之类的云云。但是比如说像百度一样的根据文本框的文字来进行拆分查找,并且数据量可以达到500W以上的话 数据库能承受得住吗,要多久呢! 1.没有通过高效的索引方式,所以查询的速度在大量数据的情况下是很慢。 2.搜索效果比较差,只能对用户输入的完整关键字首尾位进行模糊匹配。用户搜索的结果误多输入一个字符,可能就导致查询出的结果远离用户的预期 这时候就需要我们的主角来帮助我们来实现这个需求。 Lucene Lucene、Solr、Elasticsearch关系 Lucene:底层的API,工具包 Solr:基于Lucene开发的企业级的搜索引擎产品 Elasticsearch:基于Lucene开发的企业级的搜索引擎产品...
    • 2
    • 24
    • 0
    • 2019-10-17