mirror of
https://github.com/nextapps-de/flexsearch.git
synced 2025-08-27 07:44:35 +02:00
Merge branch 'master' into master
This commit is contained in:
15
README.md
15
README.md
@@ -1,5 +1,8 @@
|
|||||||
FlexSearch v0.8: [Overview and Migration Guide](doc/0.8.0.md)
|
FlexSearch v0.8: [Overview and Migration Guide](doc/0.8.0.md)
|
||||||
<h1></h1>
|
|
||||||
|
[<img src="https://devin.ai/assets/deepwiki-badge.png" alt="Ask DeepWiki.com" height="20"/>](https://deepwiki.com/nextapps-de/flexsearch)
|
||||||
|
|
||||||
|
<h2></h2>
|
||||||
<h1>
|
<h1>
|
||||||
<img src="doc/flexsearch-logo-glass-animated.svg" style="width: 580px; max-width: 100%" alt="FlexSearch.js: Next-Generation full-text search library for Browser and Node.js">
|
<img src="doc/flexsearch-logo-glass-animated.svg" style="width: 580px; max-width: 100%" alt="FlexSearch.js: Next-Generation full-text search library for Browser and Node.js">
|
||||||
<p></p>
|
<p></p>
|
||||||
@@ -38,13 +41,13 @@ FlexSearch has been helping developers around the world build powerful, efficien
|
|||||||
|
|
||||||
<a href="https://antithesis.com" target="_blank" style="display: inline-block">
|
<a href="https://antithesis.com" target="_blank" style="display: inline-block">
|
||||||
<center>
|
<center>
|
||||||
<img src="doc/antithesis_logo.svg" width="180" alt="Donate using Open Collective"><br>
|
<img src="doc/antithesis_logo.svg" width="200" alt="Donate using Open Collective"><br>
|
||||||
Antithesis Operations LLC
|
Antithesis Operations LLC
|
||||||
</center>
|
</center>
|
||||||
</a>
|
</a>
|
||||||
<h1></h1>
|
<h1></h1>
|
||||||
|
|
||||||
FlexSearch performs queries up to 1,000,000 times faster <a href="https://nextapps-de.github.io/flexsearch/" target="_blank">compared to other libraries</a> by also providing <a href="https://nextapps-de.github.io/flexsearch/match.html" target="_blank">powerful search capabilities</a> like multi-field search (document search), phonetic transformations, partial matching, tag-search or suggestions.
|
FlexSearch performs queries up to 1,000,000 times faster <a href="https://nextapps-de.github.io/flexsearch/" target="_blank">compared to other libraries</a> by also providing <a href="https://nextapps-de.github.io/flexsearch/match.html" target="_blank">powerful search capabilities</a> like multi-field search (document search), phonetic transformations, partial matching, tag-search, result highlighting or suggestions.
|
||||||
|
|
||||||
Bigger workloads are scalable through workers to perform any updates or queries to the index in parallel through dedicated balanced threads.
|
Bigger workloads are scalable through workers to perform any updates or queries to the index in parallel through dedicated balanced threads.
|
||||||
|
|
||||||
@@ -561,9 +564,9 @@ The **_dist_** folder is located in: `node_modules/flexsearch/dist/`
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>File Size (gzip)</td>
|
<td>File Size (gzip)</td>
|
||||||
<td>14.0 kb</td>
|
<td>16.3 kb</td>
|
||||||
<td>9.0 kb</td>
|
<td>11.4 kb</td>
|
||||||
<td>4.4 kb</td>
|
<td>4.5 kb</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
81
index.d.ts
vendored
81
index.d.ts
vendored
@@ -160,7 +160,8 @@ declare module "flexsearch" {
|
|||||||
LatinBalance: EncoderOptions,
|
LatinBalance: EncoderOptions,
|
||||||
LatinAdvanced: EncoderOptions,
|
LatinAdvanced: EncoderOptions,
|
||||||
LatinExtra: EncoderOptions,
|
LatinExtra: EncoderOptions,
|
||||||
LatinSoundex: EncoderOptions
|
LatinSoundex: EncoderOptions,
|
||||||
|
CJK: EncoderOptions
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -199,7 +200,7 @@ declare module "flexsearch" {
|
|||||||
commit?: boolean;
|
commit?: boolean;
|
||||||
|
|
||||||
// Language-specific Options and Encoding
|
// Language-specific Options and Encoding
|
||||||
encoder?: typeof Charset | Encoders | EncoderOptions;
|
encoder?: typeof Charset | Encoders | EncoderOptions | Encoder;
|
||||||
encode?: (text: string) => string[],
|
encode?: (text: string) => string[],
|
||||||
rtl?: boolean;
|
rtl?: boolean;
|
||||||
};
|
};
|
||||||
@@ -598,34 +599,6 @@ declare module "flexsearch" {
|
|||||||
): Promise<DocumentSearchResults<D, R, E, M>>;
|
): Promise<DocumentSearchResults<D, R, E, M>>;
|
||||||
}
|
}
|
||||||
|
|
||||||
type IdType =
|
|
||||||
"text" |
|
|
||||||
"char" |
|
|
||||||
"varchar" |
|
|
||||||
"string" |
|
|
||||||
"number" |
|
|
||||||
"numeric" |
|
|
||||||
"integer" |
|
|
||||||
"smallint" |
|
|
||||||
"tinyint" |
|
|
||||||
"mediumint" |
|
|
||||||
"int" |
|
|
||||||
"int8" |
|
|
||||||
"uint8" |
|
|
||||||
"int16" |
|
|
||||||
"uint16" |
|
|
||||||
"int32" |
|
|
||||||
"uint32" |
|
|
||||||
"int64" |
|
|
||||||
"uint64" |
|
|
||||||
"bigint";
|
|
||||||
|
|
||||||
type PersistentOptions = {
|
|
||||||
name?: string;
|
|
||||||
type?: IdType;
|
|
||||||
db?: any;
|
|
||||||
};
|
|
||||||
|
|
||||||
type DefaultResolve = {
|
type DefaultResolve = {
|
||||||
query?: string;
|
query?: string;
|
||||||
limit?: number;
|
limit?: number;
|
||||||
@@ -744,7 +717,53 @@ declare module "flexsearch" {
|
|||||||
export default FlexSearch;
|
export default FlexSearch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -----------------------------------
|
||||||
|
|
||||||
|
type IdType =
|
||||||
|
"text" |
|
||||||
|
"char" |
|
||||||
|
"varchar" |
|
||||||
|
"string" |
|
||||||
|
"number" |
|
||||||
|
"numeric" |
|
||||||
|
"integer" |
|
||||||
|
"smallint" |
|
||||||
|
"tinyint" |
|
||||||
|
"mediumint" |
|
||||||
|
"int" |
|
||||||
|
"int8" |
|
||||||
|
"uint8" |
|
||||||
|
"int16" |
|
||||||
|
"uint16" |
|
||||||
|
"int32" |
|
||||||
|
"uint32" |
|
||||||
|
"int64" |
|
||||||
|
"uint64" |
|
||||||
|
"bigint";
|
||||||
|
|
||||||
|
type PersistentOptions = {
|
||||||
|
name?: string;
|
||||||
|
type?: IdType;
|
||||||
|
db?: any;
|
||||||
|
};
|
||||||
|
|
||||||
|
declare module "flexsearch/db/*" {
|
||||||
|
export default StorageInterface;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module "flexsearch/db/indexeddb" {
|
||||||
|
export default class IndexedDB extends StorageInterface{
|
||||||
|
db: IDBDatabase
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------
|
||||||
|
|
||||||
|
declare module "flexsearch/lang/*" {
|
||||||
|
const Options: EncoderOptions;
|
||||||
|
export default Options;
|
||||||
|
}
|
||||||
|
|
||||||
// https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html
|
// https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html
|
||||||
// https://github.com/futurGH/ts-to-jsdoc
|
// https://github.com/futurGH/ts-to-jsdoc
|
||||||
// https://sethmac.com/typescript-to-jsdoc/
|
// https://sethmac.com/typescript-to-jsdoc/
|
||||||
|
|
||||||
|
41
src/db/clickhouse/index.d.ts
vendored
Normal file
41
src/db/clickhouse/index.d.ts
vendored
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
declare module "flexsearch/db/clickhouse" {
|
||||||
|
|
||||||
|
type IdType =
|
||||||
|
"text" |
|
||||||
|
"char" |
|
||||||
|
"varchar" |
|
||||||
|
"string" |
|
||||||
|
"number" |
|
||||||
|
"numeric" |
|
||||||
|
"integer" |
|
||||||
|
"smallint" |
|
||||||
|
"tinyint" |
|
||||||
|
"mediumint" |
|
||||||
|
"int" |
|
||||||
|
"int8" |
|
||||||
|
"uint8" |
|
||||||
|
"int16" |
|
||||||
|
"uint16" |
|
||||||
|
"int32" |
|
||||||
|
"uint32" |
|
||||||
|
"int64" |
|
||||||
|
"uint64" |
|
||||||
|
"bigint";
|
||||||
|
|
||||||
|
type PersistentOptions = {
|
||||||
|
name?: string;
|
||||||
|
type?: IdType;
|
||||||
|
db?: any;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default class StorageInterface {
|
||||||
|
constructor(name: string, config: PersistentOptions);
|
||||||
|
constructor(config: string | PersistentOptions);
|
||||||
|
//mount(index: Index | Document) : Promise<void>;
|
||||||
|
open() : Promise<void>;
|
||||||
|
close() : Promise<void>;
|
||||||
|
destroy() : Promise<void>;
|
||||||
|
clear() : Promise<void>;
|
||||||
|
db: any;
|
||||||
|
}
|
||||||
|
}
|
41
src/db/indexeddb/index.d.ts
vendored
Normal file
41
src/db/indexeddb/index.d.ts
vendored
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
declare module "flexsearch/db/indexeddb" {
|
||||||
|
|
||||||
|
type IdType =
|
||||||
|
"text" |
|
||||||
|
"char" |
|
||||||
|
"varchar" |
|
||||||
|
"string" |
|
||||||
|
"number" |
|
||||||
|
"numeric" |
|
||||||
|
"integer" |
|
||||||
|
"smallint" |
|
||||||
|
"tinyint" |
|
||||||
|
"mediumint" |
|
||||||
|
"int" |
|
||||||
|
"int8" |
|
||||||
|
"uint8" |
|
||||||
|
"int16" |
|
||||||
|
"uint16" |
|
||||||
|
"int32" |
|
||||||
|
"uint32" |
|
||||||
|
"int64" |
|
||||||
|
"uint64" |
|
||||||
|
"bigint";
|
||||||
|
|
||||||
|
type PersistentOptions = {
|
||||||
|
name?: string;
|
||||||
|
type?: IdType;
|
||||||
|
db?: IDBDatabase;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default class StorageInterface {
|
||||||
|
constructor(name: string, config: PersistentOptions);
|
||||||
|
constructor(config: string | PersistentOptions);
|
||||||
|
//mount(index: Index | Document) : Promise<void>;
|
||||||
|
open() : Promise<void>;
|
||||||
|
close() : Promise<void>;
|
||||||
|
destroy() : Promise<void>;
|
||||||
|
clear() : Promise<void>;
|
||||||
|
db: IDBDatabase;
|
||||||
|
}
|
||||||
|
}
|
41
src/db/mongodb/index.d.ts
vendored
Normal file
41
src/db/mongodb/index.d.ts
vendored
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
declare module "flexsearch/db/mongodb" {
|
||||||
|
|
||||||
|
type IdType =
|
||||||
|
"text" |
|
||||||
|
"char" |
|
||||||
|
"varchar" |
|
||||||
|
"string" |
|
||||||
|
"number" |
|
||||||
|
"numeric" |
|
||||||
|
"integer" |
|
||||||
|
"smallint" |
|
||||||
|
"tinyint" |
|
||||||
|
"mediumint" |
|
||||||
|
"int" |
|
||||||
|
"int8" |
|
||||||
|
"uint8" |
|
||||||
|
"int16" |
|
||||||
|
"uint16" |
|
||||||
|
"int32" |
|
||||||
|
"uint32" |
|
||||||
|
"int64" |
|
||||||
|
"uint64" |
|
||||||
|
"bigint";
|
||||||
|
|
||||||
|
type PersistentOptions = {
|
||||||
|
name?: string;
|
||||||
|
type?: IdType;
|
||||||
|
db?: any;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default class StorageInterface {
|
||||||
|
constructor(name: string, config: PersistentOptions);
|
||||||
|
constructor(config: string | PersistentOptions);
|
||||||
|
//mount(index: Index | Document) : Promise<void>;
|
||||||
|
open() : Promise<void>;
|
||||||
|
close() : Promise<void>;
|
||||||
|
destroy() : Promise<void>;
|
||||||
|
clear() : Promise<void>;
|
||||||
|
db: any;
|
||||||
|
}
|
||||||
|
}
|
41
src/db/postgres/index.d.ts
vendored
Normal file
41
src/db/postgres/index.d.ts
vendored
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
declare module "flexsearch/db/postgres" {
|
||||||
|
|
||||||
|
type IdType =
|
||||||
|
"text" |
|
||||||
|
"char" |
|
||||||
|
"varchar" |
|
||||||
|
"string" |
|
||||||
|
"number" |
|
||||||
|
"numeric" |
|
||||||
|
"integer" |
|
||||||
|
"smallint" |
|
||||||
|
"tinyint" |
|
||||||
|
"mediumint" |
|
||||||
|
"int" |
|
||||||
|
"int8" |
|
||||||
|
"uint8" |
|
||||||
|
"int16" |
|
||||||
|
"uint16" |
|
||||||
|
"int32" |
|
||||||
|
"uint32" |
|
||||||
|
"int64" |
|
||||||
|
"uint64" |
|
||||||
|
"bigint";
|
||||||
|
|
||||||
|
type PersistentOptions = {
|
||||||
|
name?: string;
|
||||||
|
type?: IdType;
|
||||||
|
db?: any;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default class StorageInterface {
|
||||||
|
constructor(name: string, config: PersistentOptions);
|
||||||
|
constructor(config: string | PersistentOptions);
|
||||||
|
//mount(index: Index | Document) : Promise<void>;
|
||||||
|
open() : Promise<void>;
|
||||||
|
close() : Promise<void>;
|
||||||
|
destroy() : Promise<void>;
|
||||||
|
clear() : Promise<void>;
|
||||||
|
db: any;
|
||||||
|
}
|
||||||
|
}
|
41
src/db/redis/index.d.ts
vendored
Normal file
41
src/db/redis/index.d.ts
vendored
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
declare module "flexsearch/db/redis" {
|
||||||
|
|
||||||
|
type IdType =
|
||||||
|
"text" |
|
||||||
|
"char" |
|
||||||
|
"varchar" |
|
||||||
|
"string" |
|
||||||
|
"number" |
|
||||||
|
"numeric" |
|
||||||
|
"integer" |
|
||||||
|
"smallint" |
|
||||||
|
"tinyint" |
|
||||||
|
"mediumint" |
|
||||||
|
"int" |
|
||||||
|
"int8" |
|
||||||
|
"uint8" |
|
||||||
|
"int16" |
|
||||||
|
"uint16" |
|
||||||
|
"int32" |
|
||||||
|
"uint32" |
|
||||||
|
"int64" |
|
||||||
|
"uint64" |
|
||||||
|
"bigint";
|
||||||
|
|
||||||
|
type PersistentOptions = {
|
||||||
|
name?: string;
|
||||||
|
type?: IdType;
|
||||||
|
db?: any;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default class StorageInterface {
|
||||||
|
constructor(name: string, config: PersistentOptions);
|
||||||
|
constructor(config: string | PersistentOptions);
|
||||||
|
//mount(index: Index | Document) : Promise<void>;
|
||||||
|
open() : Promise<void>;
|
||||||
|
close() : Promise<void>;
|
||||||
|
destroy() : Promise<void>;
|
||||||
|
clear() : Promise<void>;
|
||||||
|
db: any;
|
||||||
|
}
|
||||||
|
}
|
41
src/db/sqlite/index.d.ts
vendored
Normal file
41
src/db/sqlite/index.d.ts
vendored
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
declare module "flexsearch/db/sqlite" {
|
||||||
|
|
||||||
|
type IdType =
|
||||||
|
"text" |
|
||||||
|
"char" |
|
||||||
|
"varchar" |
|
||||||
|
"string" |
|
||||||
|
"number" |
|
||||||
|
"numeric" |
|
||||||
|
"integer" |
|
||||||
|
"smallint" |
|
||||||
|
"tinyint" |
|
||||||
|
"mediumint" |
|
||||||
|
"int" |
|
||||||
|
"int8" |
|
||||||
|
"uint8" |
|
||||||
|
"int16" |
|
||||||
|
"uint16" |
|
||||||
|
"int32" |
|
||||||
|
"uint32" |
|
||||||
|
"int64" |
|
||||||
|
"uint64" |
|
||||||
|
"bigint";
|
||||||
|
|
||||||
|
type PersistentOptions = {
|
||||||
|
name?: string;
|
||||||
|
type?: IdType;
|
||||||
|
db?: any;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default class StorageInterface {
|
||||||
|
constructor(name: string, config: PersistentOptions);
|
||||||
|
constructor(config: string | PersistentOptions);
|
||||||
|
//mount(index: Index | Document) : Promise<void>;
|
||||||
|
open() : Promise<void>;
|
||||||
|
close() : Promise<void>;
|
||||||
|
destroy() : Promise<void>;
|
||||||
|
clear() : Promise<void>;
|
||||||
|
db: any;
|
||||||
|
}
|
||||||
|
}
|
@@ -57,7 +57,7 @@ if(!build_light) describe("Add (Async)", function(){
|
|||||||
if(duration) break;
|
if(duration) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
expect(duration).to.closeTo(0, 3);
|
expect(duration).to.closeTo(0, 4);
|
||||||
|
|
||||||
for(let i = 0; i < 999999999; i++){
|
for(let i = 0; i < 999999999; i++){
|
||||||
await index.addAsync(i, "foo");
|
await index.addAsync(i, "foo");
|
||||||
|
Reference in New Issue
Block a user