Introduction
NodeJieba只是CppJieba简单包装而成的node扩展,用来进行中文分词。
详见NodeJiebaBlog
Install
npm install nodejieba
因为npm速度很慢而且经常因为墙的原因出现莫名其妙的问题,在此强烈建议使用cnpm,命令如下:
npm --registry=http://r.cnpmjs.org install nodejieba
默认分词算法
初始化
var segment = require("nodejieba"); segment.loadDict("./node_modules/nodejieba/dict/jieba.dict.utf8", "./node_modules/nodejieba/dict/hmm_model.utf8");
阻塞式调用
var wordList = segment.cutSync("阻塞模式分词"); if (wordList.constructor == Array) // just for tutorial, this is always be true { wordList.forEach(function(word) { console.log(word); }); }
非阻塞式调用
segment.cut("非阻塞模式分词", function(wordList) { wordList.forEach(function(word) { console.log(word); }); });
搜索引擎分词算法
var segment = require("nodejieba"); segment.queryLoadDict("./node_modules/nodejieba/dict/jieba.dict.utf8", "./node_modules/nodejieba/dict/hmm_model.utf8");
var wordList = segment.queryCutSync("阻塞模式分词"); if (wordList.constructor == Array) // just for tutorial, this is always be true { wordList.forEach(function(word) { console.log(word); }); }
segment.queryCut("非阻塞模式分词", function(wordList) { wordList.forEach(function(word) { console.log(word); }); });
具体用法可以参考 test/segment.js test/query_segment.js
Testing
在node v0.10.2下测试通过
http://cppjieba-webdemo.herokuapp.com/ (chrome is suggested)
Jieba中文分词