public class LimitsConfig
extends java.lang.Object
implements com.exalead.util.Checkable, java.io.Serializable
Modifier and Type | Field and Description |
---|---|
java.util.List<ContentGroupLimitsConfig> |
contentGroupLimitsConfig |
static int |
DEFAULT_ENOUGH_SLICES_PERCENTAGE |
static int |
DEFAULT_FULL_GRACE_DELAY_M_S |
static double |
DEFAULT_HITS_SAMPLING |
static int |
DEFAULT_INTERRUPT_GRACE_DELAY_M_S |
static long |
DEFAULT_MAX_PATHS_TO_CONSIDER |
static long |
DEFAULT_NEED_SECU_BLOCK_SIZE |
static boolean |
DEFAULT_USES_CONSECUTIVE_QUERIES |
int |
enoughSlicesPercentage |
int |
fullGraceDelayMS |
double |
hitsSampling |
int |
interruptGraceDelayMS |
int |
mainHeapFlushInterval
Deprecated.
|
int |
maxFetchedHits |
int |
maxHitsPerSlice |
int |
maxKeptHits |
long |
maxPathsToConsider |
int |
maxQueryTimeMS |
int |
maxTotalTimeMS |
long |
needSecuBlockSize |
int |
sliceHeapFlushInterval |
boolean |
usesConsecutiveQueries |
Constructor and Description |
---|
LimitsConfig() |
LimitsConfig(LimitsConfig o)
Copy constructor
|
Modifier and Type | Method and Description |
---|---|
void |
check(boolean deep,
java.lang.String errorContext)
Checks this LimitsConfig.
|
static LimitsConfig |
fromString(java.lang.String s)
String representation of this LimitsConfig.
|
java.util.List<ContentGroupLimitsConfig> |
getContentGroupLimitsConfig()
Optional specific per content group limits.
|
int |
getEnoughSlicesPercentage()
The query is interrupted if at least this percentage of active slices
finished fetching hits. |
int |
getFullGraceDelayMS()
Additional time after maxTotalTime before forcing the full hits processor to stop.
Note that this elapsed time is only checked between two full hits. |
double |
getHitsSampling()
Only fetch a sample of the matches.
|
int |
getInterruptGraceDelayMS()
After the query is interrupted, the slices have a small time period to flush their heaps.
Hits that arrive to the main heap after this time period are dropped. |
int |
getMainHeapFlushInterval()
Deprecated.
|
int |
getMaxFetchedHits()
When this total number of hits matching the query have been found (on any slice), the query is interrupted.
These hits are ranked and the "best" ones are selected for navigation and full hits. |
int |
getMaxHitsPerSlice()
Maximum number of hits that a single index slice can fetch.
|
int |
getMaxKeptHits()
Number of "best" hits that will be kept for navigation and full hits.
It limits the number of hits that can be used for navigation and full hits fetch. |
long |
getMaxPathsToConsider()
If this value is not zero, when doing expand queries without using the "expand=true" mode, the
slices will only consider the first maxExploredPaths paths they find for deciding which DIDs are contained in the graph. |
int |
getMaxQueryTimeMS()
Maximum time spent in the "hits matching" part of the search internal "query" part of the search.
After this delay, hits matching is interrupted, partial results will be returned. 0 means no limit. |
int |
getMaxTotalTimeMS()
Maximum time for the entire search (hits matching, navigation and hits computation).
After this delay, the search query is aborted. 0 means no limit. |
long |
getNeedSecuBlockSize()
If this value is not zero, when doing attrgraph queries, each document that need to be postfiltered
will have its Fullhit rewritten once said number of documents to postfilter has been reached. |
int |
getSliceHeapFlushInterval()
Each time the slice heap receives this number of hits, it will be flushed to the main heap.
This parameter only impacts performance. If value is 0, the system will pick up an appropriate value. Note: Only used in unranked and heapsort. |
boolean |
isUsesConsecutiveQueries()
Set this optio to True when you plan to use consecutive queries, then the dedup will occur.
|
LimitsConfig |
makeCopy()
Creates and returns a deep copy of this LimitsConfig.
|
static LimitsConfig |
readFrom(java.io.InputStream is)
Read this LimitsConfig from an XML fragment.
|
void |
setEnoughSlicesPercentage(int enoughSlicesPercentage)
The query is interrupted if at least this percentage of active slices
finished fetching hits. |
void |
setFullGraceDelayMS(int fullGraceDelayMS)
Additional time after maxTotalTime before forcing the full hits processor to stop.
Note that this elapsed time is only checked between two full hits. |
void |
setHitsSampling(double hitsSampling)
Only fetch a sample of the matches.
|
void |
setInterruptGraceDelayMS(int interruptGraceDelayMS)
After the query is interrupted, the slices have a small time period to flush their heaps.
Hits that arrive to the main heap after this time period are dropped. |
void |
setMainHeapFlushInterval(int mainHeapFlushInterval)
Deprecated.
|
void |
setMaxFetchedHits(int maxFetchedHits)
When this total number of hits matching the query have been found (on any slice), the query is interrupted.
These hits are ranked and the "best" ones are selected for navigation and full hits. |
void |
setMaxHitsPerSlice(int maxHitsPerSlice)
Maximum number of hits that a single index slice can fetch.
|
void |
setMaxKeptHits(int maxKeptHits)
Number of "best" hits that will be kept for navigation and full hits.
It limits the number of hits that can be used for navigation and full hits fetch. |
void |
setMaxPathsToConsider(long maxPathsToConsider)
If this value is not zero, when doing expand queries without using the "expand=true" mode, the
slices will only consider the first maxExploredPaths paths they find for deciding which DIDs are contained in the graph. |
void |
setMaxQueryTimeMS(int maxQueryTimeMS)
Maximum time spent in the "hits matching" part of the search internal "query" part of the search.
After this delay, hits matching is interrupted, partial results will be returned. 0 means no limit. |
void |
setMaxTotalTimeMS(int maxTotalTimeMS)
Maximum time for the entire search (hits matching, navigation and hits computation).
After this delay, the search query is aborted. 0 means no limit. |
void |
setNeedSecuBlockSize(long needSecuBlockSize)
If this value is not zero, when doing attrgraph queries, each document that need to be postfiltered
will have its Fullhit rewritten once said number of documents to postfilter has been reached. |
void |
setSliceHeapFlushInterval(int sliceHeapFlushInterval)
Each time the slice heap receives this number of hits, it will be flushed to the main heap.
This parameter only impacts performance. If value is 0, the system will pick up an appropriate value. Note: Only used in unranked and heapsort. |
void |
setUsesConsecutiveQueries(boolean usesConsecutiveQueries)
Set this optio to True when you plan to use consecutive queries, then the dedup will occur.
|
java.lang.String |
toString()
String representation of this LimitsConfig.
|
LimitsConfig |
withContentGroupLimitsConfig(java.util.Collection<ContentGroupLimitsConfig> __values) |
LimitsConfig |
withContentGroupLimitsConfig(ContentGroupLimitsConfig... __values)
Optional specific per content group limits.
|
LimitsConfig |
withEnoughSlicesPercentage(int enoughSlicesPercentage) |
LimitsConfig |
withEnoughSlicesPercentage(java.lang.Integer enoughSlicesPercentage) |
LimitsConfig |
withFullGraceDelayMS(int fullGraceDelayMS) |
LimitsConfig |
withFullGraceDelayMS(java.lang.Integer fullGraceDelayMS) |
LimitsConfig |
withHitsSampling(double hitsSampling) |
LimitsConfig |
withInterruptGraceDelayMS(int interruptGraceDelayMS) |
LimitsConfig |
withInterruptGraceDelayMS(java.lang.Integer interruptGraceDelayMS) |
LimitsConfig |
withMainHeapFlushInterval(int mainHeapFlushInterval)
Deprecated.
|
LimitsConfig |
withMainHeapFlushInterval(java.lang.Integer mainHeapFlushInterval)
Deprecated.
|
LimitsConfig |
withMaxFetchedHits(int maxFetchedHits) |
LimitsConfig |
withMaxFetchedHits(java.lang.Integer maxFetchedHits) |
LimitsConfig |
withMaxHitsPerSlice(int maxHitsPerSlice) |
LimitsConfig |
withMaxHitsPerSlice(java.lang.Integer maxHitsPerSlice) |
LimitsConfig |
withMaxKeptHits(int maxKeptHits) |
LimitsConfig |
withMaxKeptHits(java.lang.Integer maxKeptHits) |
LimitsConfig |
withMaxPathsToConsider(long maxPathsToConsider) |
LimitsConfig |
withMaxPathsToConsider(java.lang.Long maxPathsToConsider) |
LimitsConfig |
withMaxQueryTimeMS(int maxQueryTimeMS) |
LimitsConfig |
withMaxQueryTimeMS(java.lang.Integer maxQueryTimeMS) |
LimitsConfig |
withMaxTotalTimeMS(int maxTotalTimeMS) |
LimitsConfig |
withMaxTotalTimeMS(java.lang.Integer maxTotalTimeMS) |
LimitsConfig |
withNeedSecuBlockSize(long needSecuBlockSize) |
LimitsConfig |
withNeedSecuBlockSize(java.lang.Long needSecuBlockSize) |
LimitsConfig |
withSliceHeapFlushInterval(int sliceHeapFlushInterval) |
LimitsConfig |
withSliceHeapFlushInterval(java.lang.Integer sliceHeapFlushInterval) |
LimitsConfig |
withUsesConsecutiveQueries(boolean usesConsecutiveQueries) |
LimitsConfig |
withUsesConsecutiveQueries(java.lang.Boolean usesConsecutiveQueries) |
void |
writeTo(java.io.OutputStream os)
Write this LimitsConfig as an XML fragment
|
public java.util.List<ContentGroupLimitsConfig> contentGroupLimitsConfig
public int maxKeptHits
public int maxHitsPerSlice
@Deprecated public int mainHeapFlushInterval
public int sliceHeapFlushInterval
public int maxQueryTimeMS
public int maxFetchedHits
public int enoughSlicesPercentage
public static final int DEFAULT_ENOUGH_SLICES_PERCENTAGE
public int interruptGraceDelayMS
public static final int DEFAULT_INTERRUPT_GRACE_DELAY_M_S
public int maxTotalTimeMS
public int fullGraceDelayMS
public static final int DEFAULT_FULL_GRACE_DELAY_M_S
public double hitsSampling
public static final double DEFAULT_HITS_SAMPLING
public boolean usesConsecutiveQueries
public static final boolean DEFAULT_USES_CONSECUTIVE_QUERIES
public long maxPathsToConsider
public static final long DEFAULT_MAX_PATHS_TO_CONSIDER
public long needSecuBlockSize
public static final long DEFAULT_NEED_SECU_BLOCK_SIZE
public LimitsConfig()
public LimitsConfig(LimitsConfig o)
public java.util.List<ContentGroupLimitsConfig> getContentGroupLimitsConfig()
public LimitsConfig withContentGroupLimitsConfig(ContentGroupLimitsConfig... __values)
public LimitsConfig withContentGroupLimitsConfig(java.util.Collection<ContentGroupLimitsConfig> __values)
public void setMaxKeptHits(int maxKeptHits)
public int getMaxKeptHits()
public LimitsConfig withMaxKeptHits(int maxKeptHits)
public LimitsConfig withMaxKeptHits(java.lang.Integer maxKeptHits)
public void setMaxHitsPerSlice(int maxHitsPerSlice)
public int getMaxHitsPerSlice()
public LimitsConfig withMaxHitsPerSlice(int maxHitsPerSlice)
public LimitsConfig withMaxHitsPerSlice(java.lang.Integer maxHitsPerSlice)
@Deprecated public void setMainHeapFlushInterval(int mainHeapFlushInterval)
@Deprecated public int getMainHeapFlushInterval()
@Deprecated public LimitsConfig withMainHeapFlushInterval(int mainHeapFlushInterval)
@Deprecated public LimitsConfig withMainHeapFlushInterval(java.lang.Integer mainHeapFlushInterval)
public void setSliceHeapFlushInterval(int sliceHeapFlushInterval)
public int getSliceHeapFlushInterval()
public LimitsConfig withSliceHeapFlushInterval(int sliceHeapFlushInterval)
public LimitsConfig withSliceHeapFlushInterval(java.lang.Integer sliceHeapFlushInterval)
public void setMaxQueryTimeMS(int maxQueryTimeMS)
public int getMaxQueryTimeMS()
public LimitsConfig withMaxQueryTimeMS(int maxQueryTimeMS)
public LimitsConfig withMaxQueryTimeMS(java.lang.Integer maxQueryTimeMS)
public void setMaxFetchedHits(int maxFetchedHits)
public int getMaxFetchedHits()
public LimitsConfig withMaxFetchedHits(int maxFetchedHits)
public LimitsConfig withMaxFetchedHits(java.lang.Integer maxFetchedHits)
public void setEnoughSlicesPercentage(int enoughSlicesPercentage)
public int getEnoughSlicesPercentage()
public LimitsConfig withEnoughSlicesPercentage(int enoughSlicesPercentage)
public LimitsConfig withEnoughSlicesPercentage(java.lang.Integer enoughSlicesPercentage)
public void setInterruptGraceDelayMS(int interruptGraceDelayMS)
public int getInterruptGraceDelayMS()
public LimitsConfig withInterruptGraceDelayMS(int interruptGraceDelayMS)
public LimitsConfig withInterruptGraceDelayMS(java.lang.Integer interruptGraceDelayMS)
public void setMaxTotalTimeMS(int maxTotalTimeMS)
public int getMaxTotalTimeMS()
public LimitsConfig withMaxTotalTimeMS(int maxTotalTimeMS)
public LimitsConfig withMaxTotalTimeMS(java.lang.Integer maxTotalTimeMS)
public void setFullGraceDelayMS(int fullGraceDelayMS)
public int getFullGraceDelayMS()
public LimitsConfig withFullGraceDelayMS(int fullGraceDelayMS)
public LimitsConfig withFullGraceDelayMS(java.lang.Integer fullGraceDelayMS)
public void setHitsSampling(double hitsSampling)
public double getHitsSampling()
public LimitsConfig withHitsSampling(double hitsSampling)
public void setUsesConsecutiveQueries(boolean usesConsecutiveQueries)
public boolean isUsesConsecutiveQueries()
public LimitsConfig withUsesConsecutiveQueries(boolean usesConsecutiveQueries)
public LimitsConfig withUsesConsecutiveQueries(java.lang.Boolean usesConsecutiveQueries)
public void setMaxPathsToConsider(long maxPathsToConsider)
public long getMaxPathsToConsider()
public LimitsConfig withMaxPathsToConsider(long maxPathsToConsider)
public LimitsConfig withMaxPathsToConsider(java.lang.Long maxPathsToConsider)
public void setNeedSecuBlockSize(long needSecuBlockSize)
public long getNeedSecuBlockSize()
public LimitsConfig withNeedSecuBlockSize(long needSecuBlockSize)
public LimitsConfig withNeedSecuBlockSize(java.lang.Long needSecuBlockSize)
public LimitsConfig makeCopy()
public static LimitsConfig readFrom(java.io.InputStream is) throws javax.xml.bind.JAXBException
javax.xml.bind.JAXBException
public void writeTo(java.io.OutputStream os) throws javax.xml.bind.JAXBException, java.io.IOException
javax.xml.bind.JAXBException
java.io.IOException
public static LimitsConfig fromString(java.lang.String s) throws javax.xml.bind.JAXBException, java.io.UnsupportedEncodingException
javax.xml.bind.JAXBException
java.io.UnsupportedEncodingException
public java.lang.String toString()
toString
in class java.lang.Object
public void check(boolean deep, java.lang.String errorContext) throws com.exalead.util.TypedException
check
in interface com.exalead.util.Checkable
com.exalead.util.TypedException
Copyright © 2013 Dassault Systèmes, All Rights Reserved.