At the surface the seems very similar to the
, but there are several important
differences in how they operate. At a high level the Metadata Query API is
optimized for exactness and throughput, while regular search is optimized for
relevance to a human user.
Deep comparison
Search API calls that match more than 10,000 results may result in slight
changes in relevance. This may result in duplicate results and results that
are not returned. Search should not be considered an exact matching solution
on large data sets.
Scenarios
The following are some example scenarios that may help you decide what API to use.
Searching an entire enterprise for a term
You want to find all content in an enterprise with content or metadata that
matches the keyword Guarantee.
In this case the is recommended. This API matches terms
in both content and metadata, and can be scoped to find all content in the
entire enterprise.
You want to find all documents with the metadata template Contract having a
value greater than $100,000, a renewal date in 2019, and which are not associated
with account number 1234.
In this case the is recommended. With a metadata
query you can write boolean expressions that evaluate multiple fields in
a metadata template, such as a number, a date, and a string.
Mixing metadata and content search
You want to find all documents with the metadata template Contract having a
value greater than $100,000, renewal date in 2019, which are not associated with
account number 1234, and which contain the term “Sale” in the title or document
body.
This scenarios is currently not supported. At the moment neither of the APIs
supports mixing both fuzzy search (searching for “Sale”) and the boolean
expression matching metadata fields.