/**
* Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved.
* EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* http://www.ewcms.com
*/
package com.ewcms.content.document.util.analyzer.lucene;
import org.apache.lucene.search.DefaultSimilarity;
/**
* <ul>
* 相似度评估器,
* 重载了DefaultSimilarity的coord方法,
* 提高词元命中个数在相似度比较中的权重影响,即,当有多个词元得到匹配时,文档的相似度将提高
* </ul>
*
* @author 吴智俊
*/
public class IKSimilarity extends DefaultSimilarity {
private static final long serialVersionUID = 7558565500061194774L;
/* (non-Javadoc)
* @see org.apache.lucene.search.Similarity#coord(int, int)
*/
public float coord(int overlap, int maxOverlap) {
float overlap2 = (float)Math.pow(2, overlap);
float maxOverlap2 = (float)Math.pow(2, maxOverlap);
return (overlap2 / maxOverlap2);
}
}