全文检索
---
以下部分介绍全文检索的基本思路
* 创建索引
该过程一共分三步
document(准备文档)---analyzer(分词)--indexer(创建出索引)
比如现在准备三个文档,
doc1:项目开发
doc2:app软件开发
doc3:app测试
接着进行分词,假如采用标准分词(把哦中文转换成独立单词,把英文转换成词根),那么分词结果是:
doc1:项|目|开|发
doc2:app|软|件|开|发
doc3:app|测|试
最后,把分词结果创建索引,索引类似于这种结构:
项(1)目(1)开(1,2)发(1,2)
app(2,3)软(2)件(2)
测(3)试(3)
* 检索
检索过程一共分4步
搜索关键词---分词---检索索引---返回结果
比如要搜索关键词是app软件
进行分词,分词规则最好和建立索引时的规则一致,所以,app分词后的结果是app|软|件。
然后检索索引,三个索引分别是 app(2,3),软(2)件(2),
因为共同含有2,所以检索出来的应该是doc2.
lucene数学模型
---
文档 域 词元
一部小说 就是一个文档,一个文档中的标题、作者、更新时间等都是域、而域中通过分词获取多个词元。
Term Freqency(tf) 此term在该文档中出现的频率越大,那么该词元越重要
document Freqency(df)词元在多少文档中出现过,df越大,说明词元越不重要
比如会的越多越厉害,相反会这项技术的人越多,说明这个技术越简单
空间向量模型
一篇文档就可以表示成词元的权重
把文档表示成权重的向量
一个词元一个维度,所有文档中一共N个词元
---
以下部分介绍全文检索的基本思路
* 创建索引
该过程一共分三步
document(准备文档)---analyzer(分词)--indexer(创建出索引)
比如现在准备三个文档,
doc1:项目开发
doc2:app软件开发
doc3:app测试
接着进行分词,假如采用标准分词(把哦中文转换成独立单词,把英文转换成词根),那么分词结果是:
doc1:项|目|开|发
doc2:app|软|件|开|发
doc3:app|测|试
最后,把分词结果创建索引,索引类似于这种结构:
项(1)目(1)开(1,2)发(1,2)
app(2,3)软(2)件(2)
测(3)试(3)
* 检索
检索过程一共分4步
搜索关键词---分词---检索索引---返回结果
比如要搜索关键词是app软件
进行分词,分词规则最好和建立索引时的规则一致,所以,app分词后的结果是app|软|件。
然后检索索引,三个索引分别是 app(2,3),软(2)件(2),
因为共同含有2,所以检索出来的应该是doc2.
lucene数学模型
---
文档 域 词元
一部小说 就是一个文档,一个文档中的标题、作者、更新时间等都是域、而域中通过分词获取多个词元。
Term Freqency(tf) 此term在该文档中出现的频率越大,那么该词元越重要
document Freqency(df)词元在多少文档中出现过,df越大,说明词元越不重要
比如会的越多越厉害,相反会这项技术的人越多,说明这个技术越简单
空间向量模型
一篇文档就可以表示成词元的权重
把文档表示成权重的向量
一个词元一个维度,所有文档中一共N个词元