
搜索
文章平均质量分 69
搜索
成长的小牛233
不辜负每一份热爱
展开
-
【转载保存】词性还原和词干的区别
(4)在结果上,词干提取和词形还原也有部分区别。词干提取的结果可能并不是完整的、具有意义的词,而只是词的一部分,如“revival”词干提取的结果为“reviv”,“ailiner”词干提取的结果为“airlin”。(1)在原理上,词干提取主要是采用“缩减”的方法,将词转换为词干,如将“cats”处理为“cat”,将“effective”处理为“effect”。(2)在复杂性上,词干提取方法相对简单,词形还原则需要返回词的原形,需要对词形进行分析,不仅要进行词缀的转化,还要进行词性识别,区分相同词形但。原创 2023-09-21 14:35:53 · 274 阅读 · 0 评论 -
搜索研发工程师需要掌握的一些技能
基础语言大部分公司用的是Solr、ElasticSearch,都是基于Java实现的,因此熟悉掌握Java语言并灵活使用很重要360公司他们的分词、搜索引擎都是基于C、C++去写,因此C、C++也很重要,但是我工作当中主要用Java,其实我也忘了差不多了其实Python也很重要,Python提供了很多优秀的库可以解决很多应用场景,读写Excel、Word文档如果用Java库去调太麻烦了,还有Python提供了很多机器学习库,当然我是做工程更多这方面很多也不懂数据结构与算法我觉得所有软件的底原创 2021-06-02 18:50:28 · 1071 阅读 · 1 评论 -
elasticsearch亿级数据量全量索引导入优化方案
Hbase scan读取时候,调大scannerTimeout超时时间 将全表扫描作为父线程,其他子线程录入数据到es时候,需要查询redis、hbase其他信息表、json索引数据组装等等,录入时间永远小于扫描时间,此时需要调大扫描过期时间,不然会抛出如下异常 org.apache.hadoop.hbase.UnknownScannerException: org.apache.hadoop.hbase.UnknownScannerException: Unknown scanner '479原创 2021-02-06 00:07:43 · 1715 阅读 · 0 评论 -
elasticsearch高级查询进阶
文章目录数据:索引mappings:准备数据:查询1.constant_score查询-不考虑文档频率得分,与搜索关键字命中更多的返回结果2.sort排序-分数相同情况下,按照指定价格域排序3.不考虑文档频率TF/IDF情况下,不同域打分权重不同进行召回4.不考虑文档频率TF/IDF情况下,不同域打分权重不同,再加上制定field的分数,最后最终得分返回,eg:title^3+content^1+time5.不考虑TFIDF得分,同一区域下,不同品牌权重不同6.如何基于地理位置查询,并且类似于自如租房查找周原创 2021-01-14 14:10:10 · 749 阅读 · 0 评论 -
bm25中调参因子
BM25提供两个调参因子k1:这个参数控制着词频结果在词频饱和度中的上升速度。默认值为 1.2 。值越小饱和度变化越快,值越大饱和度变化越慢。词频饱和度可以参看下面官方文档的截图,图中反应了词频对应的得分曲线,k1 控制 tf of BM25 这条曲线。b:这个参数控制着字段长归一值所起的作用, 0.0 会禁用归一化, 1.0 会启用完全归一化。默认值为 0.75 。在 字段长归一化 中,我们提到过 Lucene 会认为较短字段比较长字段更重要:字段某个词的频度所带来的重要性会被这个字段长度抵消,但原创 2021-01-09 16:15:34 · 179 阅读 · 0 评论 -
记录一次异常 java.lang.NoClassDefFoundError: org/apache/lucene/codecs/lucene53/Lucene53NormsFormat
异常信息:java.lang.NoClassDefFoundError: org/apache/lucene/codecs/lucene53/Lucene53NormsFormat at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) at java.lang.Class.getConstructor0原创 2020-12-31 16:01:25 · 781 阅读 · 0 评论 -
Solr实战篇
1.在MySQL数据中建立lagou_db数据库, 将position.sql中的数据导入到mysql 数据中。2.使用Solr的DIH 将mysql中的数据导入到Solr中。3.使用SpringBoot 访问Solr 使用positionName 字段检索职位信息 如果检索到的职位信息不够5条 则需要启用positionAdvantage 查找 美女多、员工福利好 的企业职位信息进行补充够5条。依赖包:<?xml version="1.0" encoding="UTF-8"?&g原创 2020-10-09 18:50:38 · 1594 阅读 · 1 评论 -
elasticsearch实战篇
1.新建SpringBoot项目依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache原创 2020-10-10 18:20:24 · 355 阅读 · 0 评论 -
ElasticSearch入门篇
文章目录控制台RESTFULL操作REST风格说明基于REST命令说明:es支持的数据类型核心数据类型ik分词器使用ik_smart最少切分ik_max_word最细粒度创建索引通过创建文档方式,自动创建索引库索引库创建控制台RESTFULL操作使用工具Cerebro v0.8.3REST风格说明一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简介,更有层次,更易于实现缓存等机制基于REST命令说明:meth原创 2020-11-13 14:47:57 · 788 阅读 · 0 评论 -
常用的lucene分词器-笔记
1、 StopAnalyzerStopAnalyzer能过滤词汇中的特定字符串和词汇,并且完成大写转小写的功能。2、 StandardAnalyzerStandardAnalyzer根据空格和符号来完成分词,还可以完成数字、字母、E-mail地址、IP地址以及中文字符的分析处理,还可以支持过滤词表,用来代替StopAnalyzer能够实现的过滤功能。3、 SimpleAnalyzerSi...原创 2020-04-20 16:13:21 · 456 阅读 · 0 评论 -
lucene详细说明文档
以下部门功能在lucene5以上版本可能有的API所有改变 目录 1.简介 2.了解索引操作 2.1倒排索引 2.2字段类型 2.3细分 2.4文件编号 ...原创 2019-11-08 17:50:31 · 1389 阅读 · 0 评论 -
lucene6 CustomScoreQuery使用demo
package luceneTest;import java.io.IOException;import java.util.HashSet;import java.util.Set;import org.apache.lucene.analysis.standard.StandardAnalyzer;import org.apache.lucene.document.Docume...原创 2019-11-08 15:13:02 · 232 阅读 · 0 评论 -
【转载保存】搜索引擎调研文档
搜索引擎选型调研文档Elasticsearch简介*Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引...转载 2019-10-31 17:12:11 · 190 阅读 · 0 评论 -
【转载保存】lucene正则查询使用注意
今天要分享的是关于lucene中另外一种丰富的查询方式----正则查询,lucene内置了许多的查询API,以及更强大的自定义查询方式的QueryParse,大部分情况下我们使用内置的查询API,基本上就可以满足我们的需求了,但是如果你想更灵活的定制自己的查询或者改写自己的查询API那么你完全可以继承QueryParse类来完成这项工作。从某种方式上来说,正则查询(RegexpQuery)跟通配...转载 2019-10-31 10:05:00 · 464 阅读 · 0 评论 -
lucene 各个版本介绍
官方说明文档:https://lucene.apache.org/core/8_3_0/changes/Changes.html#v8.3.0.other开源中国翻译:https://www.oschina.net/p/lucene原创 2019-10-31 16:39:59 · 1719 阅读 · 0 评论 -
IndexOptions类说明
IndexOptions是在lucene-core-x.jar包下面,其作用是在新建索引时候选择索引属性。IndexOptions是一个枚举类:枚举变量说明:NONE 不被索引 DOCS_AND_FREQS 文档和词频建立索引 DOCS_AND_FREQS 仅对文档和词频建立索引 DOCS_AND_FREQS_AND_POSITIONS 文档、...原创 2019-10-16 22:41:42 · 1793 阅读 · 0 评论 -
lucene Term查询
查询demo Path path = Paths.get(util.Directory.GetAppPath("indexDir")); IndexReader reader = DirectoryReader.open(FSDirectory.open(path)); //获取IndexSearcher对象 IndexSearcher indexSearcher = new ...原创 2019-10-16 14:54:52 · 4155 阅读 · 2 评论 -
no segments* file found in SimpleFSDirectory问题总结
lucene6.0版本场景一:第一次启动程序索引库为空抛出异常最近在写lucene发现利用lucene6.0版本时候如果索引库为空构建indexWriter,代码如下:IndexWrterConfig config = new IndexWriterConfig(analyzer);IndexWriter indexWriter = new IndexWriter(config);...原创 2019-10-15 18:14:24 · 2271 阅读 · 0 评论 -
lucene大牛博客汇总保存
https://www.amazingkoala.com.cn/Lucene/Index/ http://codepub.cn/tags/Lucene/原创 2019-10-15 16:18:36 · 126 阅读 · 0 评论 -
【转载保存】索引文件锁LockFactory
索引文件锁LockFactory LockFactory在Lucene中用来对索引文件所在的目录进行加锁,使得同一时间总是只有一个IndexWriter对象可以更改索引文件,即保证单进程内(single in-process)多个不同IndexWriter对象互斥更改(多线程持有相同引用的IndexWriter对象视为一个IndexWriter不会受制于LockFactory,而是受制于对象...转载 2019-10-15 16:13:30 · 392 阅读 · 0 评论 -
【搜索引擎】lucene事务
本文分两部份,第一部份为译:是对是对于lucene事务的一篇佳作《Transactional Lucene》的翻译。第二部份为解:是本人对一文中提到一些概念在源码层次的一些理解分析,参考lucene源码版本为4.10.4。《Transactional Lucene》中还提到了多commit在实际生产中的一些妙用,值得参考。一、译很多用户并不了解Lucene API的事务语义及其在搜索应用中...转载 2019-06-04 10:59:04 · 322 阅读 · 0 评论 -
【转载保存】基于Lucene的近实时搜索引擎优化总结
一、搜索优化: 在工程领域,越是看起来“简单、确定”的问题,越是难以解决。近实时搜索引擎需要解决的问题只有一个:性能!它包含快速索引,快速搜索,以及索引到搜索的快速生效。 以下为百万条数据级(适用于千万级)快速滚动数据近实时搜索引擎实践经验总结:1. 针对技术优化 1.1 数值搜索优化: 将数值的范围缩小,能用 int值 的不要用 long值,能用 flo...转载 2019-06-16 13:53:01 · 293 阅读 · 0 评论 -
【转载保存】修改IK分词器源码实现动态加载词典
链接:http://www.gongstring.com/portal/article/index/id/59.html当前IKAnalyzer从发布最后一个版本后就一直没有再更新,使用过程中,经常遇到需要扩展词库以及动态更新字典表的问题,此处给出一种解决办法(注意:本方法中的IKAnalyzer代码我已经将源码移植到了自己的工程中,目录结构也进行了修改):1、将扩展字典表做成可动态...转载 2019-07-04 13:15:54 · 1169 阅读 · 0 评论 -
【转载保存】Lucene 实战教程第六章 Lucene 的精确、包含、集合查询 Query 的简单使用
原链接:https://www.xttblog.com/?p=3532所有的搜索基本上都存在精确匹配,包含等操作。Lucene 中同样存在这样的操作,今天我们以 IntPoint 为例,来说说 Lucene 中的精确查询。IntPoint、LongPoint、FloatPoint、DoublePoint 这个 4 个的操作类似,我就只以 IntPoint 来进行举例。 1 ...转载 2019-07-04 13:18:20 · 786 阅读 · 0 评论 -
【转载保存】lucene3.0可以对docId、docField、queryParser设置Boost值来影响排序结果
转自:http://catastiger.iteye.com/blog/803796前提:不对结果做sort操作. 在搜索中,并不是所有的Document和Fields都是平等的.有些技术会要求到对其Doucment或者Fields的权值改变,默认值为:1.0F,以上需求都是通过改变Document的boost因子来改变的. 下面是通过lucene3.0,IKAnalyzer1.通...转载 2019-07-24 11:05:14 · 229 阅读 · 0 评论 -
lucene6.0 查询语句设置关键字boost值
代码模板:public class Demo { public static void main(String[] args) throws IOException, Exception { //建立索引 String indexDirPath = util.Directory.GetAppPath("indexDir"); Path path = Paths.get(inde...原创 2019-07-24 11:27:32 · 799 阅读 · 0 评论 -
【转载保存】Lucene7.1.0超详细的使用文档
转载地址:https://www.cnblogs.com/houzheng/p/9150314.html转载 2019-07-24 11:33:54 · 392 阅读 · 0 评论 -
【转载保存】《Elasticsearch 核心技术与实战》Github代码保存
https://github.com/onebirdrocks/geektime-ELK转载 2019-07-24 18:47:04 · 5942 阅读 · 0 评论 -
【转载保存】lucene优秀文章整理
Lucene解析 - 基本概念: https://www.jianshu.com/p/fbb171e73721?from=timeline&isappinstalled=0 Lucene DocValues——没有看懂: https://www.cnblogs.com/bonelee/p/6669263.html ...转载 2019-07-25 10:53:44 · 228 阅读 · 0 评论 -
lucene中write.lock索引锁机制的原理
write.lock加锁的实现原理:实现源码(lucene 6.0):@Overrideprotected Lock obtainFSLock(FSDirectory dir, String lockName) throws IOException { Path lockDir = dir.getDirectory(); // Ensure that lockDir e...原创 2019-07-25 15:28:29 · 3103 阅读 · 0 评论 -
lucene分布式索引
当数据量较大访问量较大的时候,分布式就不可避免,我现在知道的处理方式有下面几种:1,用一个好服务器作为索引服务器,磁盘冗余的方式保证搜索的正常进行;2,索引服务器用一台,检索服务器用分布式;3,编写索引算法,分布式存放,检索时采用多线程搜索合并搜索结果返回;4,索引分布式存储用硬件的方式保证索引文件的同步,检索也采用分布式。大概知道的就这几个,现在想知道还有没有更好的方法?或者...转载 2019-07-22 16:02:47 · 600 阅读 · 0 评论 -
9个基于Java的搜索引擎框架
9个基于Java的搜索引擎框架 转自:http://blog.youkuaiyun.com/xiaomin1991222/article/details/50980573 1、Java 全文搜索引擎框架 Lucene 毫无疑问,Lucene是目前最受欢迎的Java全文搜索框架,准确地说,它是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene为开发人员提供了相当完整的工...转载 2018-08-23 11:05:37 · 237 阅读 · 0 评论