Press "Enter" to skip to content

Category: 其它

solr实战:模糊查询~(纠错)

有的时候,我们一开始不可能准确地知道搜索的关键字在 Solr 中查询出的结果是什么,因此,Solr 还提供了几种类型的模糊查询。模糊匹配会在索引中对关键字进行非精确匹配。例如,有的人可能想要搜索某个前缀开始的单词(称为通配符查询),或者想要查询和关键字有一两个字母不相同的单词(称为模糊查询或编辑距离查询),或者你想要查询两个关键字,并且这两个关键字之间的距离不会大于某个最大值(称为临近查询)。总的说来,模糊匹配是查询中的一个强大的工具。 一、通配符查询 在 Solr 中最普遍使用的模糊查询就是使用通配符。假设你想要查询以 offic 开始的文档。下面列举出这个查询的几个版本:…

Leave a Comment

Solr实战:中英文简拼分词(首字母缩写查询)

在电商的业务中,为了用户体验更好,搜索汉字的首字母就可以搜到想要的内容 比如bym或者beiyinmei能够搜到贝因美就很nice 而ik分词只能对中文分词,不能满足我们的要求 下面这个分词支持英文分词,let’s  go 一、下载需要的jar包 wget http://pic.w-blog.cn/pinyinTokenFilter-1.1.0-RELEASE.jar 如果上面链接丢失,点此备份链接: https://pan.baidu.com/s/1Kw4z32hoNQDutPxgr0WYgA…

Leave a Comment

Solr实战:Solr搜索建议Suggest使用

Solr从1.4开始便提供了检查建议,检索建议目前是各大搜索的标配应用,主要作用是避免用户输入错误的搜索词,同时将用户引导到相应的关键词搜索上。通常,我们将其称为搜索联想。其效果如图所示。在Solr中,实现该功能的模块叫做suggest。 幸运的是 solr 也提供了类似的功能,在该功能的基础上,配合 jQuery 或 kissy 的自动完成组件就可以实现类似上面的功能。 Solr 中的…

Leave a Comment

Solr实战:Solr配置中文分词,自定义分词Text_ik

配置Ikanalyzer中文分词 本文地址转载自github:https://github.com/magese/ik-analyzer-solr 谢谢大神分享 jar包下载地址:https://search.maven.org/remotecontent?filepath=com/github/magese/ik-analyzer/8.3.0/ik-analyzer-8.3.0.jar 不同版本的地址:https://search.maven.org/search?q=g:com.github.magese%20AND%20a:ik-analyzer&core=gav 将jar包放入Solr服务的Jetty或Tomcat的webapp/WEB-INF/lib/目录下; 将resources目录下的5个配置文件放入solr服务的Jetty或Tomcat的webapp/WEB-INF/classes/目录下; ① IKAnalyzer.cfg.xml ② ext.dic…

Leave a Comment

Solr实战:Solr自动生成自增ID配置实践

Solr基于Lucene的索引,而索引中的最基本的单元式Document,在Solr中,管理每一个Document(更新、删除、查询),基本都会用到对应的ID,类似关系数据表中的主键。但是,如果我希望Solr能够自动生成这个唯一的ID,有时候也省去了不少的工作,而只需要在Solr中进行配置即可。 下面,通过实例来说明,如何配置Solr支持的UUID。首先,示例的 managed-schema对应的表结构,如图所示: 注意:solr低版本的文件名叫schema.xml ,楼主使用的solr8.0 在Solr中配置生成唯一UUID,需要修改两个配置文件: managed-schema managed-schema文件的配置内容,增加如下类型配置(如上图): <fieldType name=”uuid”…

Leave a Comment

js原型、原型链是什么

全局对象window 什么是原型 什么是原型链 JS中一切皆为对象? 全局对象window 在谈window之前,试想一个简单的问题,打开浏览器在控制台输入console.log(“Hello”); 并按下回车键,我们理所应当看到了控制台给我们返回的结果Hello,那么,console.log()这个方法是怎么来的呢?其实浏览器中已经为我们内置了一个全局对象叫做window,window作为全局对象,代表脚本正在运行的浏览器窗口。console.log()是一种简写的格式,更加精确的写法为:window.console.log()。window下则封装了多种 多样的属性,这些属性中,有些是浏览器自带的属性,有些则是ECMAScript标准规定的属性。ECMAScript规定的全局对象为global,但是在浏览器下则是window。 这里需要注意的是,浏览器中的全局对象是window,但是在其他的环境下,例如node.js就不一样了。浏览器下,在控制台输入window可以查看全局对象的所有属性。而在node.js环境中,则需要使用global,且浏览器中规定的属性在node.js环境下自然是无效的。 当我们打开浏览器,系统自然会为浏览器分配内存,浏览器将内存分给各个页面,页面中的HTML,CSS,JS,插件等会分配到一部分内存空间。对于JS来说,一开始window对象就已经存在于堆内存中了。…

Leave a Comment

怎样理解阻塞非阻塞与同步异步的区别?

IO 概念区分   在进行网络编程时,我们常常见到同步(synchronous)/异步(asynchronous),阻塞(blocking)/非阻塞(non-blocking)四种调用方式 分别是什么,到底有什么区别?用例子如何做比喻? 在开始讲解之前我们先看几个例子: #例子①   同步:你去书店,问《如何征服美少女》到货没,老板说,没到货,你走了,过了一段时间,你又到书店,问《如何征服美少女》到货没,老板说没有。。。。就这样,你不断的来书店自己询问。直到你鞋都跑破了。。。 异步:…

Leave a Comment

CPU中的核心数线程数(如四核八线程)与程序中所说的线程、进程有什么区别?

1、CPU的核心数与线程数 2、程序说的线程与进程的区别 3、什么是时间片轮转调度算法 CPU又称为中央处理器(central processing unit),由运算器、控制器、寄存器、输入设备和输出设备组成,这些器件由处理数据总线相连。 它们在处理器中,分工明确: 运算器:进行数据的处理。 寄存器:进行数据的存储。 控制器:控制各种器件工作。…

Leave a Comment

TCP/IP三次握手和四次挥手

TCP/IP是“transmission Control Protocol/Internet Protocol”的简写,中文译名为传输控制协议/互联网络协议)协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成,是供连接因特网的计算机进行通信的通信协议。其定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。 TIP/IP协议并不只是单纯的一个协议,它其实是一个完整的协议族。这个协议族里面包含着一系列的协议,就比如我们所熟知的http协议,IP协议,TCP和UDP等等 TCP三次握手 所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。 三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP…

Leave a Comment