import { SearchInput, SearchResult } from '@subit/common/lib/generated-types'; import { ID } from '@subit/common/lib/shared-types'; import { RequestContext } from '../../../api/common/request-context'; import { TransactionalConnection } from '../../../service/transaction/transactional-connection'; import { SearchStrategy } from './search-strategy'; /** * A weighted fulltext search for MySQL / MariaDB. */ export declare class MysqlSearchStrategy implements SearchStrategy { private connection; private readonly minTermLength; constructor(connection: TransactionalConnection); getFacetValueIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise>; getSearchResults(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise; getTotalCount(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise; private applyTermAndFilters; /** * When a select statement includes a GROUP BY clause, * then all selected columns must be aggregated. So we just apply the * "MIN" function in this case to all other columns than the productId. */ private createMysqlSelect; }