To optimize performance of wildcard search, use the following
recommendations.
- Account for increased
time needed for indexing. In general, if wildcard search is enabled in the
MDEX Engine (even if it is not used by the users), it increases the time and
disk space required for indexing. Therefore, consider first the business
requirements for your Endeca application to decide whether you need to use
wildcard search.
Note: To optimize performance, the MDEX Engine performs wildcard
indexing for words that are shorter than 1024 characters. Words that are longer
than 1024 characters are not indexed for wildcard search.
- Do not use "low
information" queries. For optimal performance, Endeca recommends using
wildcard search queries with at least 2-3 non-wildcarded characters in them,
such as
abc* and
ab*de, and avoiding wildcard searches with one
non-wildcarded character, such as
a*. Wildcard queries with extremely low information,
such as
a*, require a significant amount of time to process.
Queries that contain only wildcards, or only wildcards and punctuation or
spaces, such as
*. or
* *, are rejected by the MDEX Engine.
-
Analyze the format of your typical wildcard query cases. This
lets you be aware of performance implications associated with one specific
wildcard search pattern.
For example, it is useful to know that if search queries contain
only wildcards and punctuation, such as
*.*, the MDEX Engine rejects them for performance
reasons and returns no results.
Do you have queries that contain punctuation syntax in between
strings of text, such as
ab*c.def*?
For strings with punctuation, the MDEX Engine generates lists of
words that match each of the punctuation-separated wildcard expressions. Only
in this case, the MDEX Engine uses the
--wildcard_max <count> setting to optimize its
performance.
Increasing the
--wildcard_max <count> improves the
completeness of results returned by wildcard search for strings with
punctuation, but negatively affects performance. Thus you may want to find the
number that provides a reasonable trade-off. For more detailed information on
this type of tuning, see the
Performance Tuning Guide.
Note: You enable wildcard search in Developer Studio.