Appendix - Search API Parameters

This page lists all parameters that you can use:

  • in the commands of the Exalead CloudView Search API
  • directly as parameters to the HTTP mount points, when using directly the HTTP REST API
  • from the Search Clients (see SearchAPIClient)
Note: The .NET clients handle many of the Search API commands by the built-in properties. Others can be specified using custom parameters.

For reference documentation, see the related API javadoc and .NET reference documentation delivered in the SDK. For programmer documentation, see the Exalead CloudView Programmer's Guide.

Common notations:

  • Many Search API parameters take a "KV map" as an argument. A KV map is a list of key values, written in the form: key:val,key2:val2.
  • For each "Boolean" argument, the following values are accepted (case-insensitive): 0, 1, true, false, yes, no, disabled, enabled.

This page discusses:

The search Command

This Search API command performs searches on the Exalead CloudView index. It is available at http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/search. You can use it from the Java SearchClient and the .NET SearchClient classes.

Global Parameters

sl or logic

  • String, monovalued.
  • Must reference a valid logic, defined in the search logics list.

Example: print the query ast and not the ellql

q=job&sl=sl0
q=job&logic=sl0

st or target

  • String, monovalued.
  • Must reference a valid search target

Example: print the query ast and not the ellql

q=job&st=st0
q=job&target=st0

c or context

The context contains the encoded version of previous arguments to chain queries.

d or debug

Turns on various debugging flags for this query.

Value is a comma-separated list of the following parameters:

Parameter Description
query Logs query parsing and execution info
synthesis Logs synthesis info
ph Logs partial hit info (for example, scoring/collapsing keys)
fh Logs full hit info (metas, hit categories)
ast Puts the query ast in answer info
ellql Puts the ellql in answer info (enabled by default)
context Puts the context in answer info (enabled by default)
executor Puts the executor in answer info. When a query execution requires several executions (disjunctive facets refinements, spell) they are all displayed.
all All of the above
qp:int queryprocessing debug level (0 to 3=all)
Note: You can disable flags using the - prefix.

Example: print the query ast and not the ellql

d=ast,-ellql

Example: print everything except the logs full hit info (fh)

d=all,-fh

Example: print everything except the context (context)

d=all,-context

hit_infos; hit_info, hi

Puts additional info in the hit to debug the ranking. The following info is supported:

Parameter Description
ast Computes the index AST for each hit.
rankings Displays the ranking keys for each hit.
all All of the above
Note: You can disable flags using "-" prefix.

Example: search for word "vacation" and enable ranking info for ast. You can cumulate the options.

q=vacation&hi=ast
q=vacation&hi=ast,rankings

applicationId

In V6.x, you can create multiple applications using the Mashup Builder. This parameter is the Mashup application ID passed by the API client.

Important: It is also required by the Business Console, since the Business Logic is directly embedded as a prelinguistic Business Processor into the Search Server.

To trigger the Business Processor at runtime, you have to pass the applicationId parameter and optionally, the stagingMode parameter:

Parameter Description
applicationId Represents your application identifier (for example, "default")
stagingMode Accepts two values:
  • true - to use the application configuration and compile the Business Console resources at query time (so you do not have to apply your configuration).
  • false - to use the application configuration and precompiled Business Console resources.

Examples:

  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/search?q=test&applicationId=default&stagingMode=false - The Business Processor uses the "default" application configuration and precompiled resources.
  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/search?q=test&applicationId=default&stagingMode=true - The Business Processor uses the "default" application configuration and compile resources at query-time.
  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/search?q=test&applicationId=default - The Business Processor will use the "default" application configuration and precompiled resources.
  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/search?q=test - The Business Processor is not triggered.

Checkpoints

The list of checkpoint values to retrieve on each slice, stored in the answer's slice info.

Value is a comma-separated list of checkpoint names.

Origin

This parameter has no impact on query treatment. However, it is logged in the search.csv file and can help you identify the origin of the query, when you analyze user queries using the search-reporting reporter with a CSV publisher. It is useful for better traceability and debugging.

Sorting and Grouping Parameters

s or sort

Sort is declared through several parameters:

Parameter Description
sort=STRING Comma-separated list of asc([sort id]) or desc([sort id]), that defines the order of the hits.
s=STRING Same as sort.
sort.[sort id].expr=STRING An existing index field, an existing virtual field or a symbolic name, used to compare hits. Set to [sort id] by default.
sort.[sort id].lsb=INTEGER Position of the least significant within [0,63] to be considered. For integer field only. 0 by default.
sort.[sort id].msb=INTEGER Position of the most significant within [lsb,63] to be considered. For integer field only. 63 by default.
sort.[sort id].limit=INTEGER Maximum number of byte used to compare character string. 0 means that the strings are compared till the end. 0 by default.
sort.[sort id].min=INTEGER If the field is an integer, only keeps hits for which the expr is at least INT.

Example: sort alphabetically by region and then by price

s=asc(document_region),desc(document_price)

Example: sort alphabetically by increasing price, decreasing score and then by increasing file size. 'myprice' and 'myscore' are '[sort id]' [sort id] can not contain any space, or comma, or closing parenthesis, nor point. If such characters are required, use the expanded syntax.

s=asc(myprice),desc(myscore),asc(document_file_size)
s.myprice.expr=price-discount
s.myscore.expr=@term.score*@proximity*#round(document_double,4)

Example: sort by color index defined on 4 bits in the index field document_bitfield.

s=asc(color)
s.color.expr=document_bitfield
s.color.lsb=12
s.color.msb=15

is the same as: s=asc(document_bitfield[12:15])

The following syntax is also supported for backward compatibility. It allows only mono field sort.

  • s=field - Sort descending on field.
  • s=-field - Sort ascending on field.
  • s=field[lsb,msb] - Sort descending on field, restricted to a given bitrange.
  • s=-field[lsb,msb] - Sort ascending on field, restricted to a given bitrange.

Group

Theses parameters control the GroupBy feature.

Parameter Description
group=[group id], ... Comma-separated list of one or more [group id]. Each element stands for an independent group passed on the result set.
group.[group id].by=[criterion id], ... Comma-separated list of one or more field names or expressions used to group hits. Set to [group id] by default.
group.[group id].by.[criterion id].expr=STRING Field name or expression used to group hits. Set to [criterion id] by default.
group.[group id].by.[criterion id].lsb=INTEGER Position of the least significant within [0,63] to be considered. For integer field only. 0 by default.
group.[group id].by.[criterion id].msb=INTEGER Position of the most significant within [lsb,63] to be considered. For integer field only. 63 by default.
group.[group id].by.[criterion id].limit=INTEGER Maximum number of byte used to compare character string. 0 means that the strings are compared till the end. 0 by default.
group.[group id].aggregation=[aggr id],... Comma-separated list of one or more aggregation names.
group.[group id].aggregation.[aggr id].function=POLICY Score actions that combine the ranking value for a group. POLICY is one of SUM, MAX, MIN, AVG, STDDEV, CONCAT. MAX by default.
group.[group id].aggregation.[aggr id].expr=STRING Field name or expression that contain the data to be aggregated. Set to [aggr id] by default, you can omit it when expr is equal to the [aggr id]
group.[group id].aggregation.[aggr id].separator=STRING Sequence on characters placed in-between the concatenated values.
group.[group id].aggregation.[aggr id].aggregationField=STRING Name of the field or expression where the aggregation result is written. It can then be used to be displayed (combined with add_hit_meta) or to perform sort (combined with sort) for example.
group.[group id].topn=INTEGER Number of hits to keep for each group.
group.[group id].sort=STRING Defines the order of hits within each group to keep the top n best. See sort=.
group.[group id].s=STRING Same as group.[group id].sort. See sort=.
group.[group id].sort.[sort criterion id].* Sort criterion parameters. See sort=.

By default, a group pass has a single group dimension defined with expr set to [group identifier]. [group id] and [criterion id] can neither contain comma, nor point. If such characters are required in the expression, use the expanded syntax.

Example: Keep one document for each state. The best one is selected according to the ranking sort, the others are discarded.

group=document_region

Example: Keep the five best documents for each state.

group=document_region
group.document_region.topn=5

Example: Same as previous, but uses a label to identify the group rather than the field name.

group=byRegion
group.byRegion.by=document_state
group.byRegion.topn=5

Example: Keep the best noted hit per region, sort regions per hit count, and display the count. This example relies on the constant virtual expression 1.

group=document_region
group.document_region.aggregation=1
group.document_region.aggregation.1.function=SUM
group.document_region.sort=desc(document_note)
sort=desc(1)
add_hit_meta=1

is the same as:

add_virtual_field=count:1
group=document_region
group.document_region.aggregation=count
group.document_region.aggregation.count.function=SUM
group.document_region.sort=desc(document_note)
sort=desc(count)
add_hit_meta=count

Example: Keep no more than five hit per region, and no more that eight times the same product. This configuration creates two independent collapsing passes. The result set may contain fewer than 5 hits per region because document_product_name removes hits of the groups made by document_region pass.

group=document_region,document_product_name
group.document_region.topn=5
group.document_product_name.topn=8

Example: Keep one record for each firstname, lastname pair, select most recently updated hit, and get the average note in document_note and the total expense in total_expense. Finally results are sorted alphabetically.

group=byPerson
group.byPerson.by=document_firstname,document_lastname
group.byPerson.s=desc(document_lastupdatedate)
group.byPerson.aggregation=document_note,document_price
group.byPerson.aggregation.document_note.function=AVG
group.byPerson.aggregation.document_price.function=SUM
group.byPerson.aggregation.document_price.aggregationField=total_expense
sort=asc(document_lastname),asc(document_fisrtname)
add_hit_meta=document_note
add_hit_meta=total_expense

Collapsing (DEPRECATED)

collapsing parameters are supported for backward compatibility. Prefer group parameters.

Parameter Description
collapsing

Comma-separated list of group identifiers. Each element stands for an independent collapsing passed on the result set.

For each group, the following collapsing.[group identifier].* parameters are available

collapsing.[group identifier].expr=STRING Field name or expression used to group hits. Set to [group identifier] by default.
collapsing.[group identifier].lsb=INTEGER Position of the least significant within [0,63] to be considered. For integer field only. 0 by default.
collapsing.[group identifier].msb=INTEGER Position of the most significant within [lsb,63] to be considered. For integer field only. 63 by default.
collapsing.[group identifier].limit=INTEGER Maximum number of byte used to compare character strings. 0 means that the strings are compared till the end. 0 by default.
collapsing.[group identifier].nbhits=INTEGER Number of hits to keep for each group.
collapsing.[group identifier].action.[virtual expression]=POLICY Score actions that combine the ranking values for a group. POLICY can be add, max, min or best. For each grouping key, there can be one action for each ranking element. best by default.

Example: Keep one document for each state. The best one is selected according to the ranking sort, the others are discarded.

collapsing=document_region

Example: Keep the five best documents for each state.

collapsing=document_region
collapsing.document_region.nbhits=5

Example: Same as previous but uses a label to identify the group rather than the field name.

collapsing=byRegion
collapsing.byRegion.expr=document_state
collapsing.byRegion.nbhits=5

Example: Keep one hit per region, sort regions per hit count, and display the count. This example relies on the constant virtual expression 1.

collapsing=document_region
collapsing.document_region.action.1=add
sort=desc(1)
add_hit_meta=1

Example: Keep no more than five hits per region, and no more that eight times the same product. This configuration creates two independent collapsing passes. The result set may contain fewer than 5 hits per region because document_product_name remove hits of the groups made by document_region pass.

collapsing=document_region,document_product_name
collapsing.document_region.nbhits=5
collapsing.document_product_name.nbhits=8

User Query

q or Query

  • string in UQL format
  • Parameter name can be in the form q.X to define a named query.

Example:

q=olympic games
query=olympic games

eq or ellql_query

  • string in ELLQL format
  • Parameter name can be in the form eq.X to define a named query.

Example: search for olympic games in text field

eq=#alphanum(text, "olympic games")

qt or query_template

  • String, in the form of an ELLQL tree, defining how to combine the named queries
  • Default value: #and(#query(_default_) #query(restriction) #query(security) #query(refine))
  • If a named query does not exist, it is replaced by a !NoOp() node and therefore ignored.

Security, enforce_security

  • Adds a security token, multivalued.
  • Used to increase the auto-built disjunction in the "security" named query.
  • By default, security tokens generate category lookups on the "security" field.
  • enforce_security=true|false globally enables or disables security.

Example: search for word "secured" in text field with security enabled and security token provided

q=secured&enforce_security=true&security=unix:user:10125

l or lang

  • string, monovalued
  • The global query ISO language.
  • This parameter does not restrict searches to documents in this language. It only controls the language used for computing linguistic expansions, spell checking, and summarization.

Example: search for word "vacation" in text field in English language

q=vacation&l=en

r or refine

  • Adds a refinement.
  • The combination of refines which creates a named query called "refines".

Example: search for word "vacation" in text field and refine on source category "corpus"

q=vacation&r=f/source/corpus

cr or cancel_refine

Cancels a refinement completely.

Example: search for word "vacation" in text field, refine on source category "corpus" and cancel this refine

q=vacation&r=f/source/corpus&cr=f/source/corpus

zr or zap_refine

Removes a refinement and refines on the father, if applicable. For example, if we have refinement on "Top/MyPath/A/B/C", zapping this refinement replaces it with a refinement on "Top/MyPath/A/B"

Example: search for word "vacation" in text field, refine on source category "corpus" and zap this refine.

q=vacation&r=f/source/corpus&zr=f/source/corpus/english

handle_unknown_refine_as_false

If true, when a r=f/unknownfacet/refine is specified, returns 0 results rather than an error. Default: false

UQL Interpretation

dp or default_prefix

Sets the default prefix handler. The default value is the one specified in the search logic. Can be restricted to a particular named query using dp.NAMED_QUERY_NAME or default_prefix.NAMED_QUERY_NAME.

Example: search for word "vacation" and set default prefix handler to "title", so "vacation" is searched in the title field.

q=vacation&dp=title

qec,query_expansion_config

Sets the QueryExpansionConfig for a given prefix.

The argument name can be specified as:

Parameter Description
qec=SPEC Sets the QEC of the default prefix
qec.PREFIX=SPEC Sets the QEC on a given prefix
qec.ALL=SPEC Sets the QEC on all semantic prefixes
q.QUERY.qec=SPEC Sets the QEC on a named query
q.QUERY.qec.PREFIX=SPEC Sets the QEC on a given prefix only on a named query

The argument value (SPEC) is specified as a QEC specification.

Note: Specifications are cumulative.

Examples:

  • name=spellslike spec=phonetic
  • name=text spec=synonyms1
  • name=spells2 spec=phonetic{m=3}
  • text:spellslike:foo will do phonetic + synonyms1
  • text:spellslike:spell2:foo will do phonetic{m=3} + synonyms1

pal or patterns_all_languages

Sets whether pattern expansions are performed in all languages (Boolean parameter).

Limits Parameters

Limits

Defines search limits. This parameter is specified as a KV Map.

The basic keys are:

  • max_fetched_hits
  • max_fetched_hits_per_slice
  • max_query_time
  • max_total_time
  • hits_sampling

Advanced keys are:

  • max_kept_hits
  • main_heap_flush_interval
  • slice_heap_flush_interval
  • interrupt_grace_delay
  • full_grace_delay

Detailed documentation of these parameters can be found in SearchLogic / LimitsConfig in XML Configuration Reference

Example: Override timeout and limits

limits=max_total_time:0&limits=max_query_time:n&limits=max_fetched_hits_per_slice:0

Timeout

Shortcut for the limits parameter. When you want to set a timeout, unlike the max_total_time parameter, the timeout=X parameter also sets the value of max_query_time parameter.

  • timeout=INT - Sets the global timeout. Query timeout is 75% of the global value.
  • timeout=INT,INT - Sets the query and global timeouts.

nhits

Shortcut for limits=max_kept_hits:INT

hf or full_hits,nresults

Number of full hits. hf=0 disables full hits fetch.

b or start

First full hit index. For example, to search on the:

  • first page: b=0&hf=10
  • second page: b=10&hf=10

Hit Meta Parameters

use_logic_hit_metas

  • true/false - (Optional) Removes all metas defined in the search logic. Default is true.
  • metaname1,metaname2,metaname3 - Keeps only this list of metas. Be careful they must exist in search logic unless allow_unknown_hit_meta is true.

allow_unknown_hit_meta

Optional: Allows you to set an unknown meta in the list provided in use_logic_hit_metas , which is silently discarded. Default is false.

add_hit_meta

Add a new hit meta to the query result. Use multiple add_hit_meta clauses to add multiple metas. The value is a list of key:value separated by commas:

key:value Description
name:string The name of the meta
index_field:string Name of the index field used to retrieve the meta value from, when different from the meta name. Default is name.
multi_field:string Name of the index multiple fields (a.k.a. csv field) used to retrieve the values.
dynamic_field:string Name of the index dynamic field used to retrieve the values.
context_name:string For dynamic_field use only, specify the context to extract from the dynamic field. If empty, it is assumed that context_name has name value
highlight:boolean When true, the meta value is highlighted in the summary. false by default.
summarize:boolean false by default.
select_values:boolean

This parameter only works for value and alphanum fields.

It allows you to configure the number of values displayed for metas in hit content. This is typically useful to restrict the number of values retrieved from multivalued fields when you do not want to clutter hit content with too many values for a given meta.

You can specify a min and a max values to this operation with the min_values and max_values attributes. For example, if a multivalued foo field has 10 values, 5 of which matching the query, you can display N of these values in a new bar meta by adding the following Search API HTTP parameters:

add_hit_meta=name:bar,index_field:foo,select_values:true,max_values:N

This operation uses the query to determine whether a given value is a match or not, you therefore have to add another parameter like <property_name>:<value_to_match> to your query to select only the values matching value_to_match for the property_name meta.

Note: If the property has no value matching value_to_match, you lose a search result.

Note: index_field, multi_field, dynamic_field are exclusive. By default the meta value is extracted from an index_field with the same name as the meta. Dynamic fields, and multi fields contain multiple keys and values, the values matching the meta name are returned.

There is a compact syntax for add_hit_meta that supports only index_fields and highlighting:

  • name - Name of the index field
  • name,hl - Name of the index field, highlight:Boolean

Example: Simplified syntax

add_hit_meta=document_field_name,hl

is the same as: add_hit_meta=index_field:document_field_name,highlight:true

Example: Extracts color and value from the dynamic property named document_dynamic_field.

add_hit_meta=dynamic_field:document_dynamic_field,name:color&
add_hit_meta=dynamic_field:document_dynamic_field,name:value

Example: You could also extract color from the dynamic property named document_dynamic_field and output its value in meta named property using a virtual expression:

add_hit_meta=dynamic_field:document_dynamic_field,name:property,context_name:color

To use a virtual expression in a hit meta:

  • hit_meta.name.expr=expr - where name can contain any character, and expr is a virtual expression.

Add meta specific operation:

  • First, you have to define the type of your operation, using the following syntax: (add_)hit_meta.META_NAME.operation.OPERATION_ID.type
  • Then, you can associate properties to a given operation: (add_)hit_meta.META_NAME.operation.OPERATION_ID.property.OPERATION_PROPERTY

The following tables list available properties associated by type:

Type Properties
custom
  • class_id:string - the fully-qualified name of the class performing the operation
  • YOUR_KEY:string - a KV passed to your operation
date_format output_format:string - default is %m/%d/%Y
highlight
  • facet_ids:string
  • extra_prefix_handlers:string
printf output_format:string
snippet

Makes a single value of a meta shorter when at least one of the meta's values matches. The typical use case for snippet is long, mono-valued, text metas. For short, multi-valued string metas, use select_values.

This operation uses the query to determine whether a given value is a match or not, you therefore have to add another parameter like <property_name>:<value_to_match> to your query to select only the values matching value_to_match for the property_name meta.

Note: If the property has no value matching value_to_match, you lose a search result.

  • min_length:int - default is 1
  • max_length:int - default is 150
  • max_sentence_segment_length:int - default is 150
  • max_sentence_segments:int - default is 3
  • split_on_sentence:boolean - default is true
  • remove_duplicate_segments:boolean - default is false
  • if_meta:string - is a fallback meta if one of the if_metas_match:string meta matches the query. When both parameters are used, if a match is found, the summary is filled with the if_Meta value.
  • if_metas_match:string - allows you to specify a comma-separated list of metas to test against the user query
  • highlight_facet_ids:string
  • highlight_extra_prefix_handlers:string
standard_decoding
  • encoding:string - accepted values are url or idna
time_format
  • output_format:string - default is %m/%d/%Y %H:%M:%S
truncate
  • max_length:int
  • strict:boolean - default is false

Example: Adds a meta hello from the field document_polite with a truncate processor named truncate_hello with max_length=10, strict=true

add_hit_meta=name:hello,index_field:document_polite&amp;
hit_meta.hello.operation.truncate_hello.type=truncate&amp;
hit_meta.hello.operation.truncate_hello.property.max_length=10&amp;
hit_meta.hello.operation.truncate_hello.property.strict=true

add_hit_metas

Extract all values from a multivalued field. It applies to multi fields (a.k.a. csv fields) and dynamic fields. The value is a key:value list separated by comma.

For dynamic fields only, you can also:

  • Select a subset of contexts if you specify match rules (available rules: "exact", "prefix", "suffix", "substring"). You have to use them as key, the associated value being the pattern you are looking for.
    Note: You can associate several rules. In this case, the hit meta is displayed if its name matches at least one rule.
  • Specify the name of the meta that receives all the content of the dynamic field. If not set, for each pair key:value stored in the field, a meta named as the key is created.
Parameter Description
multi_field:string Name of the index field used to retrieve the meta names and values. Used by default.
dynamic_field:string[,ruleA:pattern,ruleB:pattern,ruleC:pattern][,name:string] Name of the index field used to retrieve the meta names and values, optional match rules, optional output meta name.

Simplified syntax when the type of field is not specified multi_field is assumed.

Example: simple syntax

add_hit_metas=document_csv_field

is the same as: add_hit_metas=multi_field:document_csv_field

Example: dynamic field (displays all contexts)

add_hit_metas=dynamic_field:document_dynamic_field

Example: dynamic field with exact match rules (displays toto_first and toto_second but not toto_third)

add_hit_metas=dynamic_field:document_dynamic_field,exact:toto_first,exact:toto_second

Example: dynamic field with prefix rules (displays toto_first and toto_second but not titi_first)

add_hit_metas=dynamic_field:document_dynamic_field,prefix:toto_

Example: dynamic field with name (if dyn_[first:value1 first:value1] and dyn_[second:value2 second:value2] are stored, displays metagroup:value1,value2)

add_hit_metas=dynamic_field:document_dynamic_field,prefix:dyn_,name:metagroup

remove_hit_meta

In the search logic, metas are identified by their names in the HitConfig object. When you remove a meta, this removes all sources and all processors attached to this meta. Value = meta name

add_highlight

Highlights an existing meta. Value = meta name

add_summary

Summarizes an existing meta. Value = meta name

hit_meta_order

Comma-separated list specifying in which order to display metas. Applicable only to CSV output.

All metas not present in the list are displayed after the metas present in the list.

Note: The following metas are not affected and are always displayed first, in the following order: did, url, buildGroup, source, slice, score, mask, sort

Faceting Parameters

Synthesis

  • enabled/disabled
  • Defaults to search logic config value.

synthesis_hits

  • Number of hits used for category synthesis.
  • Defaults to the value in the search logic.

use_logic_facets

Specifies the search logic facets to use and disables all other facets. For the specified facets, the configuration is read in the search logic.

  • true - keeps all (default value)
  • false - removes all
  • facet_id1,facet_id2,...,facet_idN - keeps only this list of facets

remove_facet

One argument: facet_id.

f.* or facet.*

Creates a facet. Facets are specified as multiple parameters, like facet.FACET_ID.key=value where FACET_ID is the facet id (_a-zA-Z0-9).

Table 1. Keys for ALL facets
Key Description
type Specifies the facet type (default is category), which can be:

  • category (aka "cat")
  • value
  • date
  • dyndate
  • num_explicit (Numerical explicit ranges)
  • num_fixed (Numerical fixed ranges)
  • num_dynamic (Numerical dynamic ranges)
  • geo
  • autotile
  • multi
  • 2D or matrix
  • enum

min_docs:long Min number of docs that have the facet value (default is 1)
max_elements:uint Max number of categories (default is 0=unlimited)
max_per_slice Specifies the max number of different facets returned by a single slice.
in_hits:boolean Default is true
in_synthesis:boolean Default is true
sort Specifies the sorting function (default is count), which can be:

  • aggregation - Sorts the categories using the aggregation function specified with the sort_agg_fun: string key (see below). Default sorting direction is descending.
  • alphanum - Sorts the categories lexicographically. The category path is used here, not the title. Default sorting direction is ascending.
  • count - Sorts the categories by decreasing order, with the number of documents matching the query and having this facet.
  • date - Sorts the categories by:
    • Default with decreasing year, increasing month, increasing day
    • Reverse (with -date) with increasing year, decreasing month, decreasing day
  • explicit - Sorts the categories using an explicit order. Use a comma-separated list of values.
  • Lat - Sorts the categories by latitude, using the average of points.
  • Lng - Sorts the categories by longitude, using the average of points.
  • Num - Tries to parse the category path as an integer, and sorts decreasingly. If the category is prefixed by a number it parses the prefix. In case of failure, it fallbacks to lexicographical sorting. Default sorting direction is ascending.
  • range - If the categories are ranges in the form [a;b], it sorts the categories per increasing midrange value. Default sorting direction is ascending.
  • relevancy - Sorts the categories by decreasing relevance. Relevance is defined by taking into account both the number of documents matching the query and having this facet, and the total number of documents having the facet. The idea is to use a method of ponderation similar to the classical TF-IDF.

To reverse the sorting order, prefix the sorting function with -, for example, -aggregation.

sort_agg_fun: string Sort aggregation function id. (requires sort=aggregation)
explicit_sort_order_values: string Comma-separated list of values defining the explicit sort order.
Note: You also need to configure properly sort parameter to use this feature.
implem Implementation must be cpu, mem or auto. (default is auto)
refinement_policy:string Refinement policy exclusive, disjunctive or norefine. (default is exclusive)
Table 2. Keys for category facets
Key Description
form:string exact/lowercase/normalized (default is normalized)
root:string Required
field:string Category field (Required)
max_depth:uint Max depth from refine (default is 0=unlimited)
max_depth_from_root:uint Default 0=unlimited
max_per_level:uint Default 100

Example: Standard facet with aggregation - Use this for the default Exalead CloudView index schema, which includes a categories field.

f.common_facet.type=category
f.common_facet.root=Top/ClassProperties/facetmut3
f.common_facet.field=categories
f.common_facet.aggr.total=SUM(doc_int1)

Example: Dedicated facet with aggregation - Use this if you have added another category type field (in this case, stdf3) to your index schema.

f.stdf3.type=category
f.stdf3.root=Top
f.stdf3.field=stdf3
f.stdf3.aggr.total=SUM(doc_int1)
Table 3. Keys for value facets
Key Description
vroot: string (Required)
field (Required) the value field to use.

Example:

f.valf3.type=value
f.valf3.vroot=Top/
f.valf3.field=valf3
f.valf3.aggr.total=SUM(doc_int1)
f.cod_ente.type=value
f.cod_ente.vroot=Top/
f.cod_ente.field=cod_ente
f.cod_ente.aggr.total=SUM(anno_ruolo)
Table 4. Keys for optimized enum facets
Key Description
vroot:string (Required)
enum_facet_[if:string if:string] (Required) enum facet identifier
Table 5. Keys for date facets
Key Description
vroot:string (Required)
expr:string (Required)
start:string CONSTANT virtual expression that evaluates to the time when the synthesis starts
end:string CONSTANT virtual expression that evaluates to the time when the synthesis ends
before_start:bool Creates a virtual category for all dates before start (default is false)
after_end:bool Creates a virtual category for all dates after end (default is false)
year:bool Creates a virtual category for each (default is true)
year_desc:bool Defines sort order for year (default is true)
month:bool Creates a virtual category for each month (default is true)
month_desc:bool Defines sort order for month (default is false)
week:bool Creates a virtual category for each week (default is false)
week_desc:bool Defines sort order for week (default is false)
day:bool Creates a virtual category for each day (default is true)
day_desc:bool Defines sort order for day (default is false)
hh:bool Creates a virtual category for each hour (default is false)
hh_desc:bool Defines sort order for hour (default is false)
mm:bool Creates a virtual category for each minute (default is false)
mm_desc:bool Defines sort order for minute (default is false)
ss:bool Creates a virtual category for each second (default is false)
ss_desc:bool Defines sort order for second (default is false)
max_depth:int Default is 0
max_depth_from_root:int Default is 0
Table 6. Keys for dynamic date facets
Key Description
vroot:string (Required)
expr:string (Required)
missing_intervals:boolean Generates the missing intervals ensuring the dates are contiguous
year_fmt:string Defines year-based generated category format
quarter_fmt:string Defines quarter-based generated category format
month_fmt:string Defines month-based generated category format
week_fmt:string Defines week-based generated category format
day_fmt:string Defines day-based generated category format
hour_fmt:string Defines hour-based generated category format
min_fmt:string Defines minute-based generated category format
sec_fmt:string Defines second-based generated category format
enable_year:boolean Enables the year level
enable_quarter:boolean Enables the quarter level
enable_month:boolean Enables the month level
enable_week:boolean Enables the week level
enable_day:boolean Enables the day level
enable_hour:boolean Enables the hour level
enable_min:boolean Enables the minute level
enable_sec:boolean Enables the second level
enable_iso8601:boolean Enables the iso8601 norm for date representation

Virtual numerical facets are used to organize search results in ranges.

Table 7. Numerical range facets
Key Description
num_explicit Create ranges manually
num_fixed Create ranges that are the same size
num_dynamic Create ranges automatically
Table 8. Generic keys for numerical range facets
Key Description
vroot:string (Required)
expr:string (Required) see Virtual Expression Syntax reference page.
range (0 to N times) min,max,title, for example "-1,1,my title"
min:double Default is 0
max:double Default is 2^63
lsb:int Default is 0
msb:int Default is 63
default_precision:int Default is 2
Table 9. num_fixed specific keys
Key Description
rsize:double Range size (def 0=one range per distinct value).
below_min:bool Creates a range for values below min.
above_max:bool Creates a range for values above max.
fmt_range Sets the range title format.
fmt_above Sets the above title format.
fmt_below Sets the below title format.
fmt_single Sets the singleton title format.
Table 10. num_dynamic specific keys
Key Description
fmt_range Sets the range title format.
nb_ranges:int The maximum number of ranges to output (dynamic).
policy:enum The policy to generate the ranges.
adjust_ranges:bool Tries to adjust the ranges on multiples of 10 (deprecated).
more_accurate:bool Better linear/geometrical ranges, but slower (deprecated).
mrsize:bool Size of each bin used to compute cardinality.
exclusiveRightBracket:bool In the case of dynamic ranges, this parameter determines if the facet is exclusive or inclusive from the right side (true means [a,b[, and false means [a,b])

Example: Define custom price ranges and titles for each range

f.price.type=num_explicit
f.price.vroot=Top/Price
f.price.expr=document_dbl1
f.price.range=0,1000,0to1000euros
f.price.range=1000,2000,1000to2000euros
f.price.range=2000,4000,Tooexpensiveforyou
Table 11. Keys for geographic facets
Key Description
vroot:string (Required)
field:string (Required) the point field to use for synthesis
domain (0 to N times) a domain specification:
  • DiskDomain: disk(''x'',''y'',''radius'')'',title'' - matches all points within the specified radius of point (x,y).
  • PolygonDomain: poly(''x1'',''y1'';x2,y2;..;''xn'',''yn'')'',title'' - matches all points in the polygon defined by the specified points.
Table 12. Keys for Auto-Tile geographic facets
Key Description
vroot: string (Required)
field (Required) the PointField to use
xmin, xmax, ymin, ymax Parameters defining the facet with X and Y coordinates for the global geographic query. xmax and ymax define the Max envelope of the geographic facet.
xbin, ybin Parameters defining the size of the tile (with X and Y absolute coordinates) within the global geographic query scope.
Table 13. Keys for 2D or matrix facets
Key Description
id1:string (Required)
id2:string (Required)
vroot: string (Required)
ds: boolean With dimension switch (default is false)
sec_sort: string Secondary sort function. Same syntax as sort. (default is count)
sec_sort_agg_fun: string Secondary sort aggregation function id
sec_explicit_sort_order_values: string Comma-separated list of values defining the secondary explicit sort order
f.mycompany_facet1.type=value
f.mycompany_facet1.vroot=Top/
f.mycompany_facet1.field=mycompany_facet1
            
f.mycompany_facet2.type=value
f.mycompany_facet2.vroot=Top/
f.mycompany_facet2.field=mycompany_facet2
            
f.mat.type=matrix
f.mat.vroot=Top/
f.mat.id2=mycompany_facet1
f.mat.id1=mycompany_facet2
f.mat.aggr.total=SUM(mycompany_int1)
f.mycompany_facet1.max_elements=10
f.mycompany_facet2.max_elements=10
Table 14. Keys for multidimension facets
Key Description
vroot: string (Required)
additional_tree_representation: bool Generate the tree representation
additional_tree_representation_ds: bool Generate the tree representation with the extra dimension separator
f.id.dim.prop

Specifying MultiFacetDimensions for MultiDimensionFacets can be done with the f.id.dim.prop syntax where:

  • id - is the id of the MultiDimensionFacet
  • dim - is the (0-based) dimension for which to add a MultiFacetDimension
  • prop - is the property name to set, and can be: id, sort, max_elements, sort_agg_fun

f.id.aggr.aggId=FCT(xpr) Adds an aggregation function with id aggId and expression expr

FCT = SUM, AVG, MIN, MAX, ...

f.heat_consump_apt.type=multi
f.heat_consump_apt.vroot=Top/heat_consump_apt
f.heat_consump_apt1.id=location_code
f.heat_consump_apt2.id=heating_type
f.heat_consump_apt.additional_tree_representation=true
f.heat_consump_apt.aggr.conso=SUM(consumption_statement)
f.heat_consump_apt.in_hits=false

Dynamic Search Target

st.* or target.*

Defines a search target. The search target is specified with multiple parameters, like st.TARGET_NAME.key=value or target.TARGET_NAME.key=value where TARGET_NAME is the search target name (_a-zA-Z0-9).

The following keys are supported by all search targets:

  • type:string - "local", "simple"
  • watch_dog_connect_timeout_ms:int
  • watch_dog_read_timeout_ms:int

The local search target supports the following key: build_groups:string

The simple search target requires the definition of target slices. Target slices are specified with multiple parameters, like st.TARGET_NAME.target_slices.TARGET_ID.key=value or target.TARGET_NAME.target_slices.TARGET_ID.key=value where TARGET_NAME is the search target name (_a-zA-Z0-9) and TARGET_ID is a number (0-9). The following keys are supported:

  • build_groups:string
  • slices:string
  • instances:string
  • power:int

Examples:

st=my_dynamic_search_target
st.my_dynamic_search_target.type=local
st=my_dynamic_search_target
st.my_dynamic_search_target.type=local
st.my_dynamic_search_target.watch_dog_connect_timeout_ms=1000
st.my_dynamic_search_target.watch_dog_read_timeout_ms=5000
st.my_dynamic_search_target.build_groups=bg0
st=my_dynamic_search_target
st.my_dynamic_search_target.type=simple
st.my_dynamic_search_target.target_slices.0.build_groups=bg0
st=my_dynamic_search_target
st.my_dynamic_search_target.type=simple
st.my_dynamic_search_target.watch_dog_connect_timeout_ms=1000
st.my_dynamic_search_target.watch_dog_read_timeout_ms=5000
st.my_dynamic_search_target.target_slices.0.build_groups=bg0
st.my_dynamic_search_target.target_slices.0.slices=0,1
st.my_dynamic_search_target.target_slices.0.instances=my_instance
st.my_dynamic_search_target.target_slices.0.power=0
st.my_dynamic_search_target.target_slices.1.build_groups=bg1
st.my_dynamic_search_target.target_slices.1.slices=42
st.my_dynamic_search_target.target_slices.1.instances=my_instance
st.my_dynamic_search_target.target_slices.1.power=1

Textual Relevance Parameters

Relevance

Boolean parameter to enable all relevance computation.

Globally disabling relevance computation disables the following features:

  • term scoring
  • proximity scoring
  • sorting
  • node properties
  • using ranking elements for faceting
  • using ranking elements for facet aggregations
  • retrieving ranking elements
Note: If your query contains grouping, either by a Search API parameter or in the product configuration set in the Administration Console > Search Logic, the relevance feature is forced to true.
Note: If your query contains a refinement on a disjunctive facet, the relevance feature is forced to true.

proximity_max_distance

Maximum distance for proximity matching.

ts (term score)

Sets the term score algorithm. Value must be one of the available algorithms:

  • NO_RANKING
  • RANK
  • TFIDF
  • IDF
  • RANK_IDF
  • RANK_TFIDF
  • BM25
  • BM25F
  • CUSTOM - for this term score algorithm, you must define ts.expr to specify the custom expression.

Unranked search mode

Streaming

Boolean parameter. If true, all sorts and all limits are ignored.

The answer is NOT cacheable, and is streamed. It is efficient as the synthesis and full hits are computed on-the-fly. It is therefore especially adapted to fetch large results sets without much memory consumption.

In streaming mode, you must iterate over all returned hits, so do not use the getHits() method but getHitsIterator() instead, and read hits using the hasNext and next subcalls.

Note: In streaming mode, the hf parameter does not control the maximum total number of returned full hits, but the maximum number of returned hits per slice. Therefore, with 4 slices, streaming=true, hf=2000, up to 8000 hits can be returned.

allow_skip_nhits

Boolean parameter. If true, Exalead CloudView stops counting hits that match the query as soon as possible. The nhits value is allowed to be incorrect.

This advanced parameter must be used for high performance unranked exports without synthesis.

Search Logic Editing

Search API parameters are the preferred way to change the search logic at query time.

Yet, when modifications made to the search logic are not covered by standard Search API parameters, the *search logic editing* (a.k.a. sle) can be used as a generic way to set, add, or remove values in the search logic.

Unlike Search API parameters, the sle upward compatibility is not guaranteed. Any change made to the search logic during product upgrade may affect the sle.

Add an sle

It is possible to add one or more sle to the search URL with the following query parameters:

  • set:[path]=[new value] - where path identifies the object field or list element to be replaced by the new value. The previous value is deleted.

    Example: The following example set the performMAX Boolean of the query prefix handler named profiles to true

    sle=set:uQLConfig.queryPrefixHandler[name="profiles"].performMAX=true

  • add:[path]=[new list element] - where path identifies the list element before which the new value is inserted. The list element and any subsequent elements are shifted to the right.

    Example: Add a full text prefix handler

    sle=add:uQLConfig.queryPrefixHandler=FullTextPrefixHandler (name="t",indexFields="title",dictionaryName="dict0",matchingMode="normalized")

  • remove:[path] - where path identifies the list element to be removed. The element is deleted and any subsequent elements are shifted to the left.

    Example: Remove the first operation of meta named "title"

    sle=remove:hitConfig.meta[name="title"].metaSpecificOperation[0]

Value serialization

*value serialization* depends on the type.

Value type Description
null The null value
boolean true and false
integer Digits optionally preceded by a minus sign. For example, 314, -5
double Floating point value. For example, 3.14, -.5, 1.23E9
string Sequence of characters between double quotes. Double quotes have to be escaped with \". For example, "abc", "say \"hello\""
list Sequence of values separated by commas, between brackets. For example, [1, 42, 5], ["a","c"]
object Serialization of a new object. For example, SortBy(name="myobject",expr="title",limit=100,order="asc")
Note:
  • values "5" and 5 are not equivalent. The first is a string whereas the second is an integer.
  • values "" and null are not equivalent. The first is an empty string whereas the second is a null value.

sle Path

The *path* is an element sequence that identifies either an object field or a list element.

The XML representation of the search logic is not representative. There may be missing nodes or case discrepancy.

The path must be built using the javadoc sdk/java-customcode/docs/api/com/exalead/mercury/mami/search/v20/SearchLogic.html.

Parameter Description
hitConfig.meta[name="title"] Stands for the first element with name equal to "title" in the meta list of the hitConfig object in the Search Logic.
virtualFieldDefinition[0] Stands for the first element of the virtualFieldDefinition list in the Search Logic.

Object serialization

The *object serialization* is made of two parts: [class](key=value, ...)

  • The java class identifier can either be the full qualified name of a java class using . as package separator and '$' for inner classes. For convenience, the simple class name is accepted, and the full name is deduced from the path.

    For example, com.exalead.search.v30.VirtualFieldDefinition or VirtualFieldDefinition

  • The initializers is a comma-separated sequence of assignment.

    For example, SnippetOperation(highlightFacetIds="Event,Person",highlightExtraPrefixHandlers="soundslike,spellslike", maxSentenceSegmentLength=210,maxLength=500)

Misc

use_logic_virtual_fields

  • true/false - (Optional) Removes all virtual fields defined in the search logic. Default is true.
  • vfname1,vfname2,vfname3 - Keeps only this list of virtual fields. Be careful, they must exist in the search logic.

avf or add_virtual_field

name:url-escaped-expr

remove_virtual_field

One argument: name of the virtual field to remove. The virtual field can be used in a meta. It can also replace an existing virtual field.

tz or timezone

One argument: time difference to apply in virtual operator #adjust_timezone(expr). Format: [+-][00...12][00|15|30|45]

Example: add 4 hours and 30 minutes

timezone=+04:30

The example below is printed:

original_time: 2016/10/02 14:15:16 
adjusted_time: 2016/10/02 08:15:16
hit_meta.original_time.expr=document_lastmodifieddate&
hit_meta.original_time.operation.time_formatter1.type=time_format&

hit_meta.adjusted_time.expr=#adjust_timezone(document_lastmodifieddate)&
hit_meta.adjusted_time.operation.time_formatter2.type=time_format&

timezone=-06:00

of or output_format

Output format specifier. The following formats are supported:

  • flea - internal binary representation, used only by the Java Search Client
  • xmlv10, xml - XML representation
  • json - JSON representation
  • csv - CSV representation (do not include synthesis)
  • atom - Atom representation

callback

JSONP support. If specified, and if the output_format parameter is set to JSON, wraps the response in a function whose name is given by the parameter.

cache

Key/Value Description
g=boolean Must we get in cache? (default is 1)
s=boolean Must we search? (default is 1)
p=boolean Must we put in cache? (default is 1)
e=boolean Must we evict from cache before searching? (default is 0)
f=boolean Must we force insertion, even if cache is not accepting queries? (default is 0)
Alias Description
cache=no Query is not cached and does not looked up in cache --> g:0,p:0
cache=evict Runs the query from the index, evicts it from the cache if it was in cache --> e:1,p:0
cache=only Only returns cached results. If there is no cached result, it returns an error --> s:0
Note: Warm-up queries are sent with &cache=g:0,f:1.

query_implicit_sequence_operator or qiso

The default query operator. If a user enters this query: exalead cloudview (without quotes), by default, it is parsed as "exalead AND cloudview".

  • qiso=AND parses as "exalead AND cloudview"
  • qiso=OR parses as "exalead OR cloudview"

The fetch, preview and thumbnail Commands

Theses commands are used to fetch, preview, or or generate a thumbnail for a document. You can use them from the Java FetchClient. These commands are suppted by the .NET Fetcher class using the built-in properties only.

About Thumbnails

Search Server actions to generate thumbnails

To generate thumbnails, the Search Server:

  • Calls the connector fetcher to retrieve the original document from the data source.
  • Calculates the thumbnails (it generally uses the convert to do that).
  • Sends the document and the calculated thumbnails.

Behavior and tips

  • The thumbnail always has the same proportion. If your document does not have the same proportion, a margin will be added to the picture to fill missing gaps.
  • The thumbnail is scaled to its MINIMUM value. Let us say you have witdh=90 and height=1200, the width value is the one guiding the downscale.
  • Be careful, if your BASEPORT+10 is accessible, anyone can generate thumbnails and if your cache is not properly configured, someone malicious could spam thumbnail generations with huge resolution values.
  • The value of the source parameter does not necessarily have to be the same as the connector used to index the document. Remind that the source parameter is required to specify a fetcher to the thumbnails process. For example, you can use a JDBC connector to index your documents, and also create a "dummy" Files connector to generate thumbnails as the JDBC connector does not have a fetcher. This workaround is useful only if you have your own search front end, not if you are using a Mashup UI application.

Global Parameters

Parameter Description
source:string The source connector name.
uri:string

The URI of the document to fetch. The root used in the configuration of the source connector (file system connector) is important.

For example, if the root in the connector is /data/user1/workspace/customers/cv and you have a document named myexample.doc, you must encode the uri parameter as follows: uri=%2F%252Fdata%252Fuser1%252Fworkspace%252Fcustomers%252Fcv%2Fmyexample.doc

Otherwise you get a bad file url root exception.

security:string Security token for the fetch request
enforce_security:boolean Specifies whether security tokens must be enforced
all_parts:boolean Requests all parts of the document
part:string Selects the part of the document to retrieve

Preview Parameters

It is available at: http://SEARCH_API_HOST:SEARCH_API_PORT/preview?uri=uri_document&source=connector_name&q=%23all

Parameter Description
q:string User query string
l User query language
start_page:integer Page of the document to preview
pages:integer Number of pages of the document to render
rewrite_base:boolean Base HTTP path for links rewriting. You should set this to the base URL under which you are proxying the preview request.

Thumbnail Parameters

It is available at http://SEARCH_API_HOST:SEARCH_API_PORT/thumbnail

Parameter Description
width:integer The width in pixels of the image generated. If not set, the default value in the searchApi.xml is used.
height:integer The height in pixels of the image generated. If not set, the default value in the searchApi.xml is used.
start_page:integer Use this parameter to specify the page of the document to thumbnail. For example, a value of 1 is for page 1.

The Search Results

This section describes the main results of the Search command.

Result Description
estimated="true" When the synthesis or the number of results is not exact, because of errors linked to timeout, limits or data sampling.
status="limited" When the query is stopped because it has reached the "heap sort" limit. It occurs only when the limitation comes from the Search Server, not from the slice.
status="timeout" When the query has been either partially or totally stopped because it reached the timeout limit.
If the query status is not error/timeout

  • if the query returned fewer hits / partial synthesis because of the use of max_fetched_hits, then:

    • status="limited" in heap sort
    • status="ok" in all other modes (local sort, unrankedsort, and unrankedstream)

  • if the query returned fewer hits / partial synthesis because of the use of max_fetched_hits_per_slice, then:

    • status="ok" in all modes because information of limited answer is not communicated from the index to the Search Server.

The spellcheck Command

The spellcheck or sc command provides spell checking. It is available at http://SEARCH_API_HOST:SEARCH_API_PORT/spellcheck.

You can use it from the java SpellCheckClient.

It supports all search command parameters. You can use:

  • Boolean
  • or the keys from the KV map:
    • enabled:true
    • use_with_refinements:true
    • disable_after:10
    • max_suggestions:1
    • compute_nb_of_hits:true
    • remove_weak_suggestions:true
    • automatically_correct:false

The suggest Command

This command provides search suggest. It is available at:

  • http://SEARCH_API_HOST:SEARCH_API_PORT/suggest/service/SUGGEST_NAME
  • or http://SEARCH_API_HOST:SEARCH_API_PORT/suggest/dispatcher/DISPATCHER_NAME

You can use it from the Java SuggestClient client. These commands are also supported by the .NET Suggester class using the built-in properties only.

Parameter Description
q:string The input query
distance:integer The suggest dictionaries supports fuzzy matching at runtime. This sets the maximum Levenshtein distance between the input string and the suggestion. 0 means exact match.
minLenForDist1:integer Only searches for distance 1 fuzzy matches if the original word in the query is at least N characters long. This avoids too much approximation on very short words. The best value is 3 characters.
minLenForDist2:integer Only searches for distance 2 fuzzy matches if the original word in the query is at least N characters long. This avoids too much approximation on very short words. The best value is 6 characters.
logic:string Specify a Search Logic name.
exhaustive:boolean Displays exhaustive results.
recurse:boolean Suggests new matches on query words recursively.
autocomplete:boolean Suggests matches for the last word only.
output:string

Output format:

  • xml - returns a complete output, with text suggestions, score, distance.
  • json - returns text suggestions only. Other search output format such as csv, flea, and atom, are not supported.

Note: The Accept HTTP header is also taken into account if output is not specified.

security:string

Allows you to take users' security tokens into account in the search suggest. For example, &security=TOKEN1&security=TOKEN2...

Negative tokens must be preceded by ~. You can declare positive and negative tokens one after the other, for example, &security=TOKEN1&security=~TOKEN2

The security Command

This Search API command provides security checks. It is available at http://SEARCH_API_HOST:SEARCH_API_PORT/security/SOURCE_NAME.

It can be used from the java SecurityClient. It also is supported by the .NET AuthenticationClient class using the built-in properties only.

Parameter Description
login:string User login
password:string User password
checkPassword:boolean Checks the user password

The expansion Command

This Search API command provides query expansions. It is available at http://SEARCH_API_HOST:SEARCH_API_PORT/expansion.

It supports all search command parameters.

The introspection Command

This Search API command provides search introspection. It is available at:

  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/introspection/logics - search logic introspection
  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/introspection/targets - search target introspection
  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/introspection/prefixes - prefix handlers introspection
  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/introspection/sorts - sort introspection
  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/introspection/facets - facets introspection
  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/introspection/metas - metas introspection
  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/introspection/expr_elements - all potential expressions introspection
  • http://SEARCH_API_HOST:SEARCH_API_PORT/search-api/introspection/all - all introspection

It supports all Search API command parameters.