2025-09-05 14:59:21 +08:00

131 lines
6.4 KiB
TypeScript

import { type Options as MiniSearchOptions } from 'minisearch';
import { type MaybeRefOrGetter, type Ref } from '#imports';
export declare const defineMiniSearchOptions: <DataItem>(options: MiniSearchOptions<DataItem>) => Ref<{
fields: string[];
idField?: string | undefined;
storeFields?: string[] | undefined;
extractField?: ((document: DataItem, fieldName: string) => string) | undefined;
tokenize?: ((text: string, fieldName?: string) => string[]) | undefined;
processTerm?: ((term: string, fieldName?: string) => string | string[] | null | undefined | false) | undefined;
logger?: ((level: "error" | "debug" | "info" | "warn", message: string, code?: string) => void) | undefined;
autoVacuum?: boolean | {
batchSize?: number | undefined;
batchWait?: number | undefined;
minDirtCount?: number | undefined;
minDirtFactor?: number | undefined;
} | undefined;
searchOptions?: {
fields?: string[] | undefined;
filter?: ((result: import("minisearch").SearchResult) => boolean) | undefined;
boost?: {
[fieldName: string]: number;
} | undefined;
boostTerm?: ((term: string, i: number, terms: string[]) => number) | undefined;
weights?: {
fuzzy: number;
prefix: number;
} | undefined;
boostDocument?: ((documentId: any, term: string, storedFields?: Record<string, unknown>) => number) | undefined;
prefix?: (boolean | ((term: string, index: number, terms: string[]) => boolean)) | undefined;
fuzzy?: (boolean | number | ((term: string, index: number, terms: string[]) => boolean | number)) | undefined;
maxFuzzy?: number | undefined;
combineWith?: import("minisearch").CombinationOperator | undefined;
tokenize?: ((text: string) => string[]) | undefined;
processTerm?: ((term: string) => string | string[] | null | undefined | false) | undefined;
bm25?: {
k: number;
b: number;
d: number;
} | undefined;
} | undefined;
autoSuggestOptions?: {
fields?: string[] | undefined;
filter?: ((result: import("minisearch").SearchResult) => boolean) | undefined;
boost?: {
[fieldName: string]: number;
} | undefined;
boostTerm?: ((term: string, i: number, terms: string[]) => number) | undefined;
weights?: {
fuzzy: number;
prefix: number;
} | undefined;
boostDocument?: ((documentId: any, term: string, storedFields?: Record<string, unknown>) => number) | undefined;
prefix?: (boolean | ((term: string, index: number, terms: string[]) => boolean)) | undefined;
fuzzy?: (boolean | number | ((term: string, index: number, terms: string[]) => boolean | number)) | undefined;
maxFuzzy?: number | undefined;
combineWith?: import("minisearch").CombinationOperator | undefined;
tokenize?: ((text: string) => string[]) | undefined;
processTerm?: ((term: string) => string | string[] | null | undefined | false) | undefined;
bm25?: {
k: number;
b: number;
d: number;
} | undefined;
} | undefined;
}, MiniSearchOptions<DataItem> | {
fields: string[];
idField?: string | undefined;
storeFields?: string[] | undefined;
extractField?: ((document: DataItem, fieldName: string) => string) | undefined;
tokenize?: ((text: string, fieldName?: string) => string[]) | undefined;
processTerm?: ((term: string, fieldName?: string) => string | string[] | null | undefined | false) | undefined;
logger?: ((level: "error" | "debug" | "info" | "warn", message: string, code?: string) => void) | undefined;
autoVacuum?: boolean | {
batchSize?: number | undefined;
batchWait?: number | undefined;
minDirtCount?: number | undefined;
minDirtFactor?: number | undefined;
} | undefined;
searchOptions?: {
fields?: string[] | undefined;
filter?: ((result: import("minisearch").SearchResult) => boolean) | undefined;
boost?: {
[fieldName: string]: number;
} | undefined;
boostTerm?: ((term: string, i: number, terms: string[]) => number) | undefined;
weights?: {
fuzzy: number;
prefix: number;
} | undefined;
boostDocument?: ((documentId: any, term: string, storedFields?: Record<string, unknown>) => number) | undefined;
prefix?: (boolean | ((term: string, index: number, terms: string[]) => boolean)) | undefined;
fuzzy?: (boolean | number | ((term: string, index: number, terms: string[]) => boolean | number)) | undefined;
maxFuzzy?: number | undefined;
combineWith?: import("minisearch").CombinationOperator | undefined;
tokenize?: ((text: string) => string[]) | undefined;
processTerm?: ((term: string) => string | string[] | null | undefined | false) | undefined;
bm25?: {
k: number;
b: number;
d: number;
} | undefined;
} | undefined;
autoSuggestOptions?: {
fields?: string[] | undefined;
filter?: ((result: import("minisearch").SearchResult) => boolean) | undefined;
boost?: {
[fieldName: string]: number;
} | undefined;
boostTerm?: ((term: string, i: number, terms: string[]) => number) | undefined;
weights?: {
fuzzy: number;
prefix: number;
} | undefined;
boostDocument?: ((documentId: any, term: string, storedFields?: Record<string, unknown>) => number) | undefined;
prefix?: (boolean | ((term: string, index: number, terms: string[]) => boolean)) | undefined;
fuzzy?: (boolean | number | ((term: string, index: number, terms: string[]) => boolean | number)) | undefined;
maxFuzzy?: number | undefined;
combineWith?: import("minisearch").CombinationOperator | undefined;
tokenize?: ((text: string) => string[]) | undefined;
processTerm?: ((term: string) => string | string[] | null | undefined | false) | undefined;
bm25?: {
k: number;
b: number;
d: number;
} | undefined;
} | undefined;
}>;
export declare const searchContent: <DataItem>(search: MaybeRefOrGetter<string>, options?: {
miniSearch?: MaybeRefOrGetter<MiniSearchOptions<DataItem>>;
}) => Promise<import("vue").ComputedRef<import("minisearch").SearchResult[]>>;