如何创建Core - Apache Solr

Apache Solr 版本:6.1.0。 1、按上一篇:“Apache Solr 6.1.0 在 Tomcat 中部署运行”,先让Solr运行起来。 2、在“solr_home”下新建文件夹“new_core”,将“solr-6.1.0/example/example-DIH/solr/solr”下的所有文件复制到该文件夹中,重启Tomcat,稍等一会儿,Solr会自动扫描到该Core,名称为“new_core”。 3、注释掉下面代码: <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" /&...
阅读全文

Apache Solr 6.1.0 在 Tomcat 中部署运行 - Apache Solr

1、Apache Solr官方下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/6.1.0。当前最新版本为:6.1.0。 2、Apache Solr 6.1.0环境要求:JDK8及以上。 3、Apache Solr 6.1.0已内置jetty,可以通过运行命令:bin/solr start -e cloud -noprompt,直接启动Solr,默认访问端口:8983,具体过程可以参考Solr官方文档:http://lucene.apache.org/solr/quickstart.html。此文主要讲解如何将Solr部署在Tomcat中运行。 4、解压下载的Solr压缩包,将“solr-6.1.0/server/solr-webapp/webapp”复制到Tomcat下的webapps目录下,并重命名为“solr”。 5、将“solr-6.1.0/server/lib/ext”下的所有文件复制到“solr/WEB-INF/lib”下,再将“solr-6.1.0/dist”下的solr-dataimp...
阅读全文

Spring Task 定时任务的注解实现

1、引入相关jar包。 2、在Spring配置文件中加入“”,并配置扫描路径。 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd htt...
阅读全文

Mybatis和Spring的整合(注解)

1、添加“mybatis”和“mybatis-spring”的依赖。 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.0</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency> 2、添加Mybatis的配置文件:mybatis-config.xml。 更多配置请参考Mybatis官方中文文档:http://www.mybatis.org/mybatis-3/zh/configurat...
阅读全文

如何自定义滚动条的样式(Chrome有效)

目前各种浏览器自带的滚动条的样式很不美观,而Google Chrome浏览器为webkit内核,提供了对滚动条样式的自定义功能,虽然对其他内核的浏览器没有效果,但是聊胜于无,况且现在Chrome的用户还是非常高的。 示例: 下面是简单的实现代码: /* 定义滚动条基本样式 */ ::-webkit-scrollbar { width: 10px; /* 垂直滚动条的宽度 */ height: 10px; /* 水平滚动条的高度 */ background-color: #f5f5f5; /* 滚动条的背景色 */ } /* 定义滚动条轨道 */ ::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0, 102, 153, 0.3); /* 内阴影 */ border-radius: 10px; background-color: #f5f5f5; } /* 定义滑块 */ ::-webkit-scrollbar-thumb { border-radius...
阅读全文

如何检查敏感词(DFA算法)

DFA:Deterministic Finite Automaton,确定有穷自动机。什么是确定有穷自动机?请自行搜索。 假设我们我们需要检查的敏感词List为: [中国, 日本, 日本人, 日本女人] 首先我们需要把他转换成下面形式的Map: { 日={ isEnd=false, 本={ 女={ isEnd=false, 人={ isEnd=true } }, isEnd=true, 人={ isEnd=true } } }, 中={ isEnd=false, 国={ isEnd=true } } } 其中“isEnd”标记该字符是否为最后一个字符。 接下来就是检索这个Map集合,来检查是否包含敏感词。 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import ...
阅读全文

如何将URL参数转成对象(JS)

比如URL是http://www.***.com/product.html?id=1&type=2,那么如何使用Javascript将URL参数转成对象? 方式一:正则实现将URL参数转成对象: console.log(getParameters()); console.log(getParameterValueByName("type")); function getParameterValueByName(name) { return getParameters()[name]; } function getParameters() { var parameters = {}; var search = window.location.search.substring(1); var pattern = /(\w+)=(\w+)/ig; search.replace(pattern, function(pair, name, value){ parameters[name] = value; }); return parameters; } 方式二:...
阅读全文

H5实现打开APP(Android、iOS)

手机浏览器中打开一个H5页面,点击一个按钮,如果用户安装了App就打开该App,否则进入App下载页面。 <button type="button" onclick="openApp();">打开APP</button> function openApp() { var urlSchema = [Schema]://[URL]; var androidDownloadUrl = 'http://***'; var iOSDownloadUrl = 'itms-apps://www.apple.com/****'; // 获取当前浏览器用于 HTTP 请求的用户代理头的值 var ua = navigator.userAgent.toLowerCase(); if(/micromessenger/.test(ua)) { // 微信 } else { var downloadUrl; if(/iphone|ipad|ipod/.test(ua)) { // iOS downloadUrl = iO...
阅读全文

Jedis如何快速批量插入大量数据

Jedis可以通过“redis.clients.jedis.Pipeline”来高效的批量插入大量数据,直接上代码: import redis.clients.jedis.Jedis; import redis.clients.jedis.Pipeline; public class TestRedis { private static final String REDIS_IP = "127.0.0.1"; private static Jedis jedis = new Jedis(REDIS_IP); private static Pipeline pipeline = jedis.pipelined(); private static int count = 10000; /** * 循环插入数据 */ public static void singleHset() { for(int i=0; i<count; i++) { jedis.hset("sequence_...
阅读全文

如何将科学记数法形式转换成普通数字形式显示

Java中,数字小数点位数太多,或者数字太大,会显示成科学记数法的形式,比如: System.out.println("0.00000000001d >> " + 0.00000000001d); System.out.println("0.00000000001f >> " + 0.00000000001f); System.out.println("0.00000000001 >> " + 0.00000000001); System.out.println("1000000000d >> " + 1000000000d); System.out.println("1000000000f >> " + 1000000000f); System.out.println("1000000000 >> " + 1000000000); 运行结果为: 0.00000000001d >> 1.0E-11 0.00000000001f >> 1.0E-11 0.00000000001 >> 1.0E...
阅读全文