public class Simhash extends Object
Simhash是一种局部敏感hash,用于海量文本去重。
算法实现来自:https://github.com/xlturing/Simhash4J
局部敏感hash定义:假定两个字符串具有一定的相似性,在hash之后,仍然能保持这种相似性,就称之为局部敏感hash。
Constructor and Description |
---|
Simhash()
构造
|
Simhash(int fracCount,
int hammingThresh)
构造
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Collection<? extends CharSequence> segList)
判断文本是否与已存储的数据重复
|
long |
hash(Collection<? extends CharSequence> segList)
指定文本计算simhash值
|
void |
store(Long simhash)
按照(frac, 《simhash, content》)索引进行存储
|
public Simhash()
public Simhash(int fracCount, int hammingThresh)
fracCount
- 存储段数hammingThresh
- 汉明距离的衡量标准public long hash(Collection<? extends CharSequence> segList)
segList
- 分词的词列表public boolean equals(Collection<? extends CharSequence> segList)
segList
- 文本分词后的结果public void store(Long simhash)
simhash
- Simhash值Copyright © 2024. All rights reserved.