Package lumis.portal.bigdata
Class StandardDocumentPopularityProvider
- java.lang.Object
-
- lumis.portal.bigdata.StandardDocumentPopularityProvider
-
- All Implemented Interfaces:
IDocumentPopularityProvider
@StableMinor(version="17.0", sinceVersion="11.1") public class StandardDocumentPopularityProvider extends java.lang.Object implements IDocumentPopularityProvider
IDocumentPopularityProvider
implementation that calculates the popularity based on the number of unique visitors a document had and its age.- Since:
- 11.1.0
- Version:
- $Revision$ $Date$
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface lumis.portal.bigdata.IDocumentPopularityProvider
IDocumentPopularityProvider.DocumentPopularityKey
-
-
Field Summary
Fields Modifier and Type Field Description static PortalCache<java.lang.Integer>
UNIQUE_VISITOR_THRESHOLD_CACHE
Cache for default unique visitors threshold.
-
Constructor Summary
Constructors Constructor Description StandardDocumentPopularityProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<IDocumentPopularityProvider.DocumentPopularityKey,java.lang.Double>
calculateDocumentPopularities()
Returns a list of documents popularities.double
calculateDocumentPopularity(StandardDocument document)
Returns the popularity for the given document.
-
-
-
Field Detail
-
UNIQUE_VISITOR_THRESHOLD_CACHE
public static final PortalCache<java.lang.Integer> UNIQUE_VISITOR_THRESHOLD_CACHE
Cache for default unique visitors threshold.- Since:
- 11.1.0
-
-
Method Detail
-
calculateDocumentPopularities
public java.util.Map<IDocumentPopularityProvider.DocumentPopularityKey,java.lang.Double> calculateDocumentPopularities() throws PortalException
Description copied from interface:IDocumentPopularityProvider
Returns a list of documents popularities.
Each entry of the given map is consisted in: astandard document's item identifier
, used as the entry's key; and adouble
value, used as the document's popularity.
Both, key and value must not be null and the value must be a positivefinite
number.
A popularity between0
and1
decrease the score the document would have during a search. A popularity of1
does not alter the score the document would have during search. A popularity greater than1
increase the score the document would have during search.
The returned map must not be null.- Specified by:
calculateDocumentPopularities
in interfaceIDocumentPopularityProvider
- Returns:
- a list of documents popularities.
- Throws:
PortalException
- if some error occur during calculation.
-
calculateDocumentPopularity
public double calculateDocumentPopularity(StandardDocument document) throws PortalException, TransactionRequiredException, java.lang.IllegalArgumentException
Description copied from interface:IDocumentPopularityProvider
Returns the popularity for the given document. The returned value must be a positivefinite
number. A popularity between0
and1
decrease the score the document would have during a search. A popularity of1
does not alter the score the document would have during search. A popularity greater than1
increase the score the document would have during search.- Specified by:
calculateDocumentPopularity
in interfaceIDocumentPopularityProvider
- Parameters:
document
- the document.- Returns:
- the popularity for the given document.
- Throws:
PortalException
- if some error occur during calculation.TransactionRequiredException
- if there's no active transaction.java.lang.IllegalArgumentException
- if the given document isnull
.
-
-