-
Notifications
You must be signed in to change notification settings - Fork 163
/
demo-browser-require-ja.html
45 lines (42 loc) · 2.91 KB
/
demo-browser-require-ja.html
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
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8">
<script src="lib/require.js"></script>
</head>
<body>
<p>Open developer tools and observe the results in the Console tab. View source for code.</p>
<script>
require(['../test/lunr/lunr-0.7.0.min.js', '../lunr.stemmer.support.js', '../tinyseg.js', '../lunr.ja.js'], function(lunr, stemmerSupport, TinySegmenter, ja) {
// since the `stemmerSupport` and `ja` add keys on the lunr object, we'll pass it as reference to them
// in the end, we will only need `lunr`.
stemmerSupport(lunr); // adds `lunr.stemmerSupport`
TinySegmenter(lunr);
ja(lunr); // adds `lunr.ja` key
// at this point, `lunr` can be used
var idx = lunr(function () {
// use the language (ja)
this.use(lunr.ja);
// then, the normal lunr index initialization
this.field('title', { boost: 10 })
this.field('body')
/* add documents to index */
this.add({
"title": "日本語全文検索のためのアナライザー",
"body": "次の設定サンプルは、基本的な日本語検索の為の ja アナライザーと、ja アナライザーにプラスして同義語検索を実現する為の ja_synonym アナライザー、Nグラム検索用の ja_ngram アナライザーを定義しています。\n実際に使用する際には、これらの3つのアナライザーをフィールド毎に使い分けて使用することで、いろいろなシーンで活用できるはずです。",
"id": 1
});
this.add({
"title": "ja_synonym アナライザー (alias : search_analyzer)",
"body": "ja アナライザーの設定内容に加え、同義語を展開できるアナライザーです。インデックス側または、サーチ側のいずれかのアナライザーで使用することを想定しています。(※ 両方で同じ同義語展開してもあまり意味がないため。)\nインデックス側、サーチ側の両方で同義語展開したい場合は、ja_index_synonym、ja_search_synonym と言うようにそれぞれ定義をわけ、インデックス側の辞書はほとんどメンテナンスしない一般的な同義語を管理し、サーチ側は新語などのコンテンツの内容によって追加変更しそうな同義語を管理するなどしてください。",
"id": 2
});
});
console.log('Search for `アナライザー`: ', idx.search('アナライザー'));
console.log('Search for `analyzer`: ', idx.search('analyzer'));
console.log('Search for `同義語`: ', idx.search('同義語'));
});
</script>
</body>
</html>