【Lucene4.8教程之四】分析

【Lucene4.8教程之四】分析

大家好,又见面了,我是全栈君。

1、基础内容

(1)相关概念

分析(Analysis),在Lucene中指的是将域(Field)文本转换成最主要的索引表示单元–项(Term)的过程。在搜索过程中,这些项用于决定什么样的文档可以匹配查词条件。

分析器对分析操作进行了封装,它通过运行若干操作,将文本转化成语汇单元,这个处理过程也称为语汇单元化过程(tokenization)。而从文本洲中提取的文本块称为语汇单元(token)。词汇单元与它的域名结合后,就形成了项。

(2)何时使用分析器

  • 建立索引期间
		Directory returnIndexDir = FSDirectory.open(indexDir);

		IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_48,
				new StandardAnalyzer(Version.LUCENE_48));

		IndexWriter writer = new IndexWriter(returnIndexDir, iwc);

  • 使用QueryParser对象进行搜索时
QueryParser parser = new QueryParser(Version.LUCENE_48, "contents",
				new SimpleAnalyzer(Version.LUCENE_48));

  • 在搜索中高亮显示结果时
(3)经常使用的4个分析器:
  • WhitespaceAnalyzer, as the name implies, simply splits text into tokens on whitespace characters and makes no other effort to normalize the tokens.
  • SimpleAnalyzer first splits tokens at non-letter characters, then lowercases each token. Be careful! This analyzer quietly discards numeric characters.
  • StopAnalyzer is the same as SimpleAnalyzer, except it removes common words (called stop words, described more in section XXX). By default it removes common words in the English language (the, a, etc.), though you can pass in your own set.
  • StandardAnalyzer is Lucene’s most sophisticated core analyzer. It has quite a bit of logic to identify certain kinds of tokens, such as company names,

四、其他内容

在创建IndexWriter时,须要指定分析器,如:
<span>		</span>IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_48,
<span>				</span>new StandardAnalyzer(Version.LUCENE_48));

<span>		</span>writer = new IndexWriter(returnIndexDir, iwc);

便在每次向writer中加入文档时。能够针对该文档指定一个分析器,如

writer.addDocument(doc, new SimpleAnalyzer(Version.LUCENE_48));


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115433.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HorizontalScrollView+TabLayout+ViewPager+XUtils「建议收藏」

    HorizontalScrollView+TabLayout+ViewPager+XUtils「建议收藏」利用HorizontalScrollView+TabLayout+ViewPager+XUtils简单实现一个小Demo;首先配置环境:添加权限:添加依赖:记得添加Gson的jar包 还有个XUtils的依赖:compile’org.xutils:xutils:3.5.0’下来是布局:activity_main

    2022年7月14日
    24
  • goland 激活码【注册码】

    goland 激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    32
  • 二维数组的初始化赋值格式_memset二维数组初始化

    二维数组的初始化赋值格式_memset二维数组初始化例如对整型二维数组a[3][2]赋值方法一:在定义的同时赋值inta[3][2]={0};//所有数组元素均为0方法二:inta[3][2]={1,2,3,4,5,6};//常规的赋值方法方法三:

    2022年8月6日
    13
  • HTML embed 标签「建议收藏」

    HTML embed 标签「建议收藏」HTMLembed标签embed标签–定义网页中嵌入除图片外的多媒体不符合标准网页设计的理念,不赞成使用.embed标签是单独出现的,以开始,结束使用embed标签可以在网页中嵌入Flash,Mid,MP3等嵌入式内容embed标签已经被符合标准的object标签代替。属性Common–一般属性align–对齐方式autostart–是否

    2025年8月25日
    2
  • 机器学习之文本分类(附带训练集+数据集+所有代码)

    机器学习之文本分类(附带训练集+数据集+所有代码)我本次对4类文本进行分类((所有截图代码和数据集最后附带免费下载地址))主要步骤:1.各种读文件,写文件2.使用jieba分词将中文文本切割3.对处理之后的文本开始用TF-IDF算法进行单词权值的计算4.去掉停用词5.贝叶斯预测种类文本预处理:除去噪声,如:格式转换,去掉符号,整体规范化遍历的读取一个文件下的每个文本中文分词…

    2022年6月2日
    23
  • 4399积分小游戏大全_4399小游戏大全手机版

    4399积分小游戏大全_4399小游戏大全手机版近日有研究4399的积分小游戏的分数提交规则,但不能太高调的对做类似外挂的东西…写以下代码..仅供分析研究1db=MySql::getInstance();14}1516fu

    2022年8月3日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号