-
-
Notifications
You must be signed in to change notification settings - Fork 520
Expand file tree
/
Copy pathindex.js
More file actions
49 lines (44 loc) · 855 Bytes
/
index.js
File metadata and controls
49 lines (44 loc) · 855 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const { Index, Resolver } = require("flexsearch");
// create a simple index which can store id-content-pairs
const index = new Index({
tokenize: "forward"
});
// some test data
const data = [
'cats abcd efgh ijkl dogs pigs rats cute',
'cats abcd efgh ijkl dogs pigs cute',
'cats abcd efgh ijkl dogs cute',
'cats abcd efgh ijkl cute',
'cats abcd efgh cute',
'cats abcd cute',
'cats cute'
];
// add data to the index
data.forEach((item, id) => {
index.add(id, item);
});
// perform query
const result = new Resolver({
index: index,
query: "black"
})
.or({
index: index,
query: "cute"
})
.and([{
index: index,
query: "dog"
},{
index: index,
query: "cat"
}])
.not({
index: index,
query: "rat"
})
.resolve();
// display results
result.forEach(i => {
console.log(data[i]);
});