JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://rawgit.com/olivernn/lunr.js/master/lunr.js"></script>
JavaScript
var builder = new lunr.Builder()
lunr.tokenizer.separator = ' ';
lunr.trimmer = function (token) {
return token.update(function (s) {
return s.replace(/^\W+/, '').replace(/\W+$/, '')
})
}
builder.pipeline.add(lunr.trimmer)
builder.field("description")
builder.add({"description":"xxĀ"})
builder.add({"description":"xxx"})
builder.createTokenSet()
var queryTokenSet = lunr.TokenSet.fromString("*")
builder.tokenSet.intersect(queryTokenSet).toArray().forEach(function (s) {
if (builder.invertedIndex[s] === undefined) {
// this should never happen, but it does
alert("tokenSet invertedIndex mismatch: " + s)
} else {
alert("all fine: " + s)
}
})