mirror of
https://github.com/nextapps-de/flexsearch.git
synced 2025-08-09 15:47:27 +02:00
69 lines
1.4 KiB
HTML
69 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, height=device-height">
|
|
<title>Example: browser-module-basic-resolver</title>
|
|
</head>
|
|
<body style="white-space: pre">
|
|
<script type="module">
|
|
|
|
import { Index, Resolver } from "https://cdn.jsdelivr.net/gh/nextapps-de/flexsearch@0.8.2/dist/flexsearch.bundle.module.min.js";
|
|
|
|
// 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]);
|
|
log(data[i]);
|
|
});
|
|
|
|
function log(str){
|
|
document.body.appendChild(
|
|
document.createTextNode(str + "\n")
|
|
);
|
|
}
|
|
</script>
|
|
</body>
|
|
</html> |