全文索引的概念:将存储在数据库中的整本书或整篇文章中的任意内容信息查找出来的技术。它可以根据需要获取全文中有关章,节,段,句,词等信息,也可以进行各种统计和分析。

原理是先定义一个词库,然后在文章中查找每个词条(term)出现的频率和位置,把这样的频率和位置信息按照词库的顺序归纳,这样就相当于对文件建立了一个以词库为目录的索引,这样查找某个词的时候就能很快的定位到该词出现的位置。
问题在处理英文文档的时候显然这样的方式是非常好的,因为英文自然的被空格分成若干词,只要我们有足够大的词汇库就能很好的处理。但是亚洲文字因为没有空格作为断词标志,所以就很难判断一个词,而且人们使用的词汇在不断的变化,而维护一个可扩展的词汇库的成本是很高的,所以问题出现了。
 
 

1、在edgelabel木马的name属性上建立search索引;
2、插入木马数据,name为“木马-远控-Trojan.Win32.FakeLPK.7cfa上线包”;
3、name":"木马-远控-Trojan.Win32.FakeLPK.7cfa上线包",搜索木马 远控 Trojan、上线包  这4个可以搜到;Win32 FakeLPK 7cfa 这3个搜不到

经过判断是配置文件中选择的默认分词器造成的:有的支持中午分词好,有的支持英文分词好。

word MaximumMatching:[木马, 远, 控, trojan, ., win32, fakelpk, 7cfa, 上线, 包]
word MaximumMatching:[木马, 远, 控, trojan, ., win32, fakelpk, 7cfa, 上线, 包]

jieba SEARCH:[木马, -, 远控, trojan, ., win32, fakelpk, 7cfa, 上线, 包]
jieba INDEX:[木马, -, 远控, trojan, ., win32, fakelpk, 7cfa, 上线, 包]     -------这个目前是比较符合实际的

smartcn:[木马, 远, 控, trojan, win, 32, fakelpk, 7, cfa, 上, 线, 包]

mmseg4j Simple:[木马, 远, 控, trojan, win32, fakelpk, 7cfa, 上, 线, 包]
mmseg4j Complex:[木马, 远, 控, trojan, win32, fakelpk, 7cfa, 上, 线, 包]

jcseg Simple:[木马, -, 远, 控, trojan.win32.fakelpk.7cfa, trojan, win, 32, fakelpk, 7, cfa, 上线, 包]
jcseg Complex:[木马, -, 远, 控, trojan.win32.fakelpk.7cfa, trojan, win, 32, fakelpk, 7, cfa, 上线, 包]

hanlp standard:[木马, -, 远, 控, -Trojan, ., Win, 32, FakeLPK, 7, cfa, 上, 线, 包]
hanlp nlp:[木马, -, 远控, -Trojan, ., Win, 32, FakeLPK, 7, cfa, 上, 线, 包]

ansj BaseAnalysis:[木马, -, 远, 控, trojan, ., win, 32, fakelpk, 7, cfa, 上线, 包]
ansj IndexAnalysis:[木马, -, 远, 控, trojan, ., win, 32, fakelpk, 7, cfa, 上线, 包]

ik smart:[木马, 远, 控, trojan.win32.fakelpk.7cfa, 上线, 包]    ------------默认的是这个
ik max_word:[木马, 远, 控, trojan.win32.fakelpk.7cfa, trojan, win, 32, fakelpk, 7, cfa, 上线, 包]

全文索引:部分词能查到,部分词查不到的bug的更多相关文章

  1. 【盘古分词】Lucene.Net 盘古分词 实现公众号智能自动回复

    盘古分词是一个基于 .net framework 的中英文分词组件.主要功能 中文未登录词识别 盘古分词可以对一些不在字典中的未登录词自动识别 词频优先 盘古分词可以根据词频来解决分词的歧义问题 多元 ...

  2. Lucene.net(4.8.0)+PanGu分词器问题记录一:分词器Analyzer的构造和内部成员ReuseStategy

    前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...

  3. Lucene 03 - 什么是分词器 + 使用IK中文分词器

    目录 1 分词器概述 1.1 分词器简介 1.2 分词器的使用 1.3 中文分词器 1.3.1 中文分词器简介 1.3.2 Lucene提供的中文分词器 1.3.3 第三方中文分词器 2 IK分词器的 ...

  4. CSS如何实现”右部宽度固定,左部自适应“的布局

    吃过晚饭后,开始刷前端笔试题,却遇到了一道CSS难题——使用CSS实现左部自适应.右部固定宽度为200px的布局.当时第一眼看到题目时,以为只是一道很简单的题目.不就是定义两个左浮动的div,右部的宽 ...

  5. Lucene系列四:Lucene提供的分词器、IKAnalyze中文分词器集成、扩展 IKAnalyzer的停用词和新词

    一.Lucene提供的分词器StandardAnalyzer和SmartChineseAnalyzer 1.新建一个测试Lucene提供的分词器的maven项目LuceneAnalyzer 2. 在p ...

  6. 分词系统简介:PHPAnalysis分词程序

    分词系统简介:PHPAnalysis分词程序使用居于unicode的词库,使用反向匹配模式分词,理论上兼容编码更广泛,并且对utf-8编码尤为方便. 由于PHPAnalysis是无组件的系统,因此速度 ...

  7. 浅谈分词算法基于字的分词方法(HMM)

    前言 在浅谈分词算法(1)分词中的基本问题我们讨论过基于词典的分词和基于字的分词两大类,在浅谈分词算法(2)基于词典的分词方法文中我们利用n-gram实现了基于词典的分词方法.在(1)中,我们也讨论了 ...

  8. HanLP分词工具中的ViterbiSegment分词流程

    本篇文章将重点讲解HanLP的ViterbiSegment分词器类,而不涉及感知机和条件随机场分词器,也不涉及基于字的分词器.因为这些分词器都不是我们在实践中常用的,而且ViterbiSegment也 ...

  9. Es学习第五课, 分词器介绍和中文分词器配置

    上课我们介绍了倒排索引,在里面提到了分词的概念,分词器就是用来分词的. 分词器是ES中专门处理分词的组件,英文为Analyzer,定义为:从一串文本中切分出一个一个的词条,并对每个词条进行标准化.它由 ...

  10. es学习(三):分词器介绍以及中文分词器ik的安装与使用

    什么是分词 把文本转换为一个个的单词,分词称之为analysis.es默认只对英文语句做分词,中文不支持,每个中文字都会被拆分为独立的个体. 示例 POST http://192.168.247.8: ...

随机推荐

  1. eclipse添加约束文件

    DTD 类型约束文件     1. Window->Preferences->XML->XML Catalog->User Specified Entries窗口中,选择Add ...

  2. Object 的 property descriptor

    property descriptor 属性描述符: o = { get foo() { return 17; } }; d = Object.getOwnPropertyDescriptor(o, ...

  3. Jmeter之安装和配置

    一.Jmeter下载: 官网下载地址:http://jmeter.apache.org/download_jmeter.cgi 目前最新版本为5.0(未使用过),建议使用4.0 (存在两种格式的压缩包 ...

  4. Matlab与C++混合编程 2--在C++中使用Matlab固有命令

    直接在Visual Studio中运行Matlab固有命令 #include <iostream> #include"engine.h" // 添加matlab引擎库的 ...

  5. 剑指offer--day12

    1.1 题目:复杂链表的复制:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回 ...

  6. TensorFlow2.0矩阵与向量的加减乘

    1.矩阵加法使用 a = np.random.random((3,3))b = np.random.randint(0,9,(3,3)) ad = tf.add(a,b) 2.矩阵乘法注意 # ten ...

  7. 安卓手机上传同一张图片第二次不触发onchange

    清空上一次file内部的值  <script type="text/javascript"> var file = document.getElementById(&q ...

  8. python 并发编程 多进程 目录

    python multiprocessing模块 介绍 python 开启进程两种方法 python 并发编程 查看进程的id pid与父进程id ppid python 并发编程 多进程 Proce ...

  9. 关于golang select的用法

    1 go的信道 1.1 什么是信道 信道可以理解为go协程之间进行通信的通道. 1.2 信道的声明 所有的信道都关联一个类型,一旦关联了类型,该信道就只能传输该类型的数据,传输其它类型的数据的话就是非 ...

  10. Boostrap4 li列表橫向

    Boostrap3 li元素橫向: <ul class="nav navbar-nav list-inline"> <li class="list-in ...