couchbase
Version:
The official Couchbase Node.js Client Library.
395 lines (394 loc) • 11.1 kB
TypeScript
/**
* Specifies how the individual match terms should be logically concatenated.
*
* @experimental This API is subject to change without notice.
* @category Full Text Search
*/
export declare enum MatchOperator {
/**
* Specifies that individual match terms are concatenated with a logical OR - this is the default if not provided.
*/
Or = "or",
/**
* Specifies that individual match terms are concatenated with a logical AND.
*/
And = "and"
}
/**
* GeoPoint represents a specific coordinate on earth. We support
* a number of different variants of geopoints being specified.
*
* @category Full Text Search
*/
export type GeoPoint = [longitude: number, latitude: number] | {
lon: number;
lat: number;
} | {
longitude: number;
latitude: number;
};
/**
* Provides the ability to specify the query for a search query.
*
* @category Full Text Search
*/
export declare class SearchQuery {
protected _data: any;
constructor(data: any);
toJSON(): any;
/**
* @internal
*/
static toJSON(query: SearchQuery | any): any;
/**
* @internal
*/
static hasProp(query: SearchQuery | any, prop: string): boolean;
static match(match: string): MatchSearchQuery;
static matchPhrase(phrase: string): MatchPhraseSearchQuery;
static regexp(regexp: string): RegexpSearchQuery;
static queryString(query: string): QueryStringSearchQuery;
static numericRange(): NumericRangeSearchQuery;
static dateRange(): DateRangeSearchQuery;
/**
* Creates a ConjunctionSearchQuery from a set of other SearchQuery's.
*
* @deprecated Use the multi-argument overload instead.
*/
static conjuncts(queries: SearchQuery[]): ConjunctionSearchQuery;
/**
* Creates a ConjunctionSearchQuery from a set of other SearchQuery's.
*/
static conjuncts(...queries: SearchQuery[]): ConjunctionSearchQuery;
/**
* Creates a DisjunctionSearchQuery from a set of other SearchQuery's.
*
* @deprecated Use the multi-argument overload instead.
*/
static disjuncts(queries: SearchQuery[]): DisjunctionSearchQuery;
/**
* Creates a DisjunctionSearchQuery from a set of other SearchQuery's.
*/
static disjuncts(...queries: SearchQuery[]): DisjunctionSearchQuery;
static boolean(): BooleanSearchQuery;
static wildcard(wildcard: string): WildcardSearchQuery;
/**
* Creates a DocIdSearchQuery from a set of document-ids.
*
* @deprecated Use the multi-argument overload instead.
*/
static docIds(queries: string[]): DocIdSearchQuery;
/**
* Creates a DocIdSearchQuery from a set of document-ids.
*/
static docIds(...queries: string[]): DocIdSearchQuery;
static booleanField(val: boolean): BooleanFieldSearchQuery;
static term(term: string): TermSearchQuery;
static phrase(terms: string[]): PhraseSearchQuery;
static prefix(prefix: string): PrefixSearchQuery;
static matchAll(): MatchAllSearchQuery;
static matchNone(): MatchNoneSearchQuery;
static geoDistance(lon: number, lat: number, distance: number): GeoDistanceSearchQuery;
static geoBoundingBox(tl_lon: number, tl_lat: number, br_lon: number, br_lat: number): GeoBoundingBoxSearchQuery;
static geoPolygon(points: GeoPoint[]): GeoPolygonSearchQuery;
}
/**
* Represents a match search query.
*
* @category Full Text Search
*/
export declare class MatchSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(match: string);
operator(op: MatchOperator): MatchSearchQuery;
field(field: string): MatchSearchQuery;
analyzer(analyzer: string): MatchSearchQuery;
prefixLength(prefixLength: number): MatchSearchQuery;
fuzziness(fuzziness: number): MatchSearchQuery;
boost(boost: number): MatchSearchQuery;
}
/**
* Represents a match-phrase search query.
*
* @category Full Text Search
*/
export declare class MatchPhraseSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(phrase: string);
field(field: string): MatchPhraseSearchQuery;
analyzer(analyzer: string): MatchPhraseSearchQuery;
boost(boost: number): MatchPhraseSearchQuery;
}
/**
* Represents a regexp search query.
*
* @category Full Text Search
*/
export declare class RegexpSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(regexp: string);
field(field: string): RegexpSearchQuery;
boost(boost: number): RegexpSearchQuery;
}
/**
* Represents a query-string search query.
*
* @category Full Text Search
*/
export declare class QueryStringSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(query: string);
boost(boost: number): QueryStringSearchQuery;
}
/**
* Represents a numeric-range search query.
*
* @category Full Text Search
*/
export declare class NumericRangeSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor();
min(min: number, inclusive?: boolean): NumericRangeSearchQuery;
max(max: number, inclusive?: boolean): NumericRangeSearchQuery;
field(field: string): NumericRangeSearchQuery;
boost(boost: number): NumericRangeSearchQuery;
}
/**
* Represents a date-range search query.
*
* @category Full Text Search
*/
export declare class DateRangeSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor();
start(start: Date | string, inclusive?: boolean): DateRangeSearchQuery;
end(end: Date | string, inclusive?: boolean): DateRangeSearchQuery;
field(field: string): DateRangeSearchQuery;
dateTimeParser(parser: string): DateRangeSearchQuery;
boost(boost: number): DateRangeSearchQuery;
}
/**
* Represents a conjunction search query.
*
* @category Full Text Search
*/
export declare class ConjunctionSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(...queries: SearchQuery[]);
/**
* Adds additional queries to this conjunction query.
*
* @deprecated Use the multi-argument overload instead.
*/
and(queries: SearchQuery[]): ConjunctionSearchQuery;
/**
* Adds additional queries to this conjunction query.
*/
and(...queries: SearchQuery[]): ConjunctionSearchQuery;
boost(boost: number): ConjunctionSearchQuery;
}
/**
* Represents a disjunction search query.
*
* @category Full Text Search
*/
export declare class DisjunctionSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(...queries: SearchQuery[]);
/**
* Adds additional queries to this disjunction query.
*
* @deprecated Use the multi-argument overload instead.
*/
or(queries: SearchQuery[]): DisjunctionSearchQuery;
/**
* Adds additional queries to this disjunction query.
*/
or(...queries: SearchQuery[]): DisjunctionSearchQuery;
boost(boost: number): DisjunctionSearchQuery;
}
/**
* Represents a boolean search query.
*
* @category Full Text Search
*/
export declare class BooleanSearchQuery extends SearchQuery {
private _shouldMin;
/**
* @internal
*/
constructor();
must(query: ConjunctionSearchQuery): BooleanSearchQuery;
should(query: DisjunctionSearchQuery): BooleanSearchQuery;
mustNot(query: DisjunctionSearchQuery): BooleanSearchQuery;
shouldMin(shouldMin: number): BooleanSearchQuery;
boost(boost: number): BooleanSearchQuery;
toJSON(): any;
}
/**
* Represents a wildcard search query.
*
* @category Full Text Search
*/
export declare class WildcardSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(wildcard: string);
field(field: string): WildcardSearchQuery;
boost(boost: number): WildcardSearchQuery;
}
/**
* Represents a document-id search query.
*
* @category Full Text Search
*/
export declare class DocIdSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(...ids: string[]);
/**
* Adds additional document-id's to this query.
*
* @deprecated Use the multi-argument overload instead.
*/
addDocIds(ids: string[]): DocIdSearchQuery;
/**
* Adds additional document-id's to this query.
*/
addDocIds(...ids: string[]): DocIdSearchQuery;
field(field: string): DocIdSearchQuery;
boost(boost: number): DocIdSearchQuery;
}
/**
* Represents a boolean-field search query.
*
* @category Full Text Search
*/
export declare class BooleanFieldSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(val: boolean);
field(field: string): BooleanFieldSearchQuery;
boost(boost: number): BooleanFieldSearchQuery;
}
/**
* Represents a term search query.
*
* @category Full Text Search
*/
export declare class TermSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(term: string);
field(field: string): TermSearchQuery;
prefixLength(prefixLength: number): TermSearchQuery;
fuzziness(fuzziness: number): TermSearchQuery;
boost(boost: number): TermSearchQuery;
}
/**
* Represents a phrase search query.
*
* @category Full Text Search
*/
export declare class PhraseSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(terms: string[]);
field(field: string): PhraseSearchQuery;
boost(boost: number): PhraseSearchQuery;
}
/**
* Represents a prefix search query.
*
* @category Full Text Search
*/
export declare class PrefixSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(prefix: string);
field(field: string): PrefixSearchQuery;
boost(boost: number): PrefixSearchQuery;
}
/**
* Represents a match-all search query.
*
* @category Full Text Search
*/
export declare class MatchAllSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor();
}
/**
* Represents a match-none search query.
*
* @category Full Text Search
*/
export declare class MatchNoneSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor();
}
/**
* Represents a geo-distance search query.
*
* @category Full Text Search
*/
export declare class GeoDistanceSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(lon: number, lat: number, distance: number);
field(field: string): GeoDistanceSearchQuery;
boost(boost: number): GeoDistanceSearchQuery;
}
/**
* Represents a geo-bounding-box search query.
*
* @category Full Text Search
*/
export declare class GeoBoundingBoxSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(tl_lon: number, tl_lat: number, br_lon: number, br_lat: number);
field(field: string): GeoBoundingBoxSearchQuery;
boost(boost: number): GeoBoundingBoxSearchQuery;
}
/**
* Represents a geo-polygon search query.
*
* @category Full Text Search
*/
export declare class GeoPolygonSearchQuery extends SearchQuery {
/**
* @internal
*/
constructor(points: GeoPoint[]);
field(field: string): GeoPolygonSearchQuery;
boost(boost: number): GeoPolygonSearchQuery;
}