Fuse.js:当有两个单词要search时,如何返回完全匹配?

这是我想要完成的。

Old War不应该匹配,但它确实。 – >这不是我要找的,即使有两个字,也必须有一个精确的匹配。 Old Man是一个是的,但是Old War是一个没有。

Man's War应该匹配。 它在这个时候。

Silmarillion应该匹配。 它在这一刻。

The Silmarillion也应该匹配。 它在这个时候。

 var express = require('express'); var router = express.Router(); var path = require("path"); var async1 = require("async"); var Fuse = require("fuse.js"); var options = { shouldSort: true, tokenize: true, matchAllTokens: true, findAllMatches: true, threshold: 0, location: 0, distance: 0, maxPatternLength: 32, minMatchCharLength: 2, keys: ["title"] }; var arr = [ { title: "Old Man's War", author: { firstName: "John", lastName: "Scalzi" } }, { title: "The SilmarillionADDITIONALTEXT", author: { firstName: "JRR", lastName: "Tolkien" } } ]; var keywords = ["Old War", "random title"]; router.get('/search', function (req, res, next) { async1.waterfall([ function (callback) { var fuse = new Fuse(r, options); async1.map(keywords, function (keyword, asyncCallback) { var results = fuse.search(keyword); if (results.length !== 0) { async1.map(results, function (result, async2Callback) { console.log(result.title + " " + keyword); }); } }); callback(null, 'done!'); } ], function (err, result) { res.sendStatus(200); }); }); 

Interesting Posts