summaryrefslogtreecommitdiff
path: root/jstests/core/index/fts/fts_blog.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/index/fts/fts_blog.js')
-rw-r--r--jstests/core/index/fts/fts_blog.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/jstests/core/index/fts/fts_blog.js b/jstests/core/index/fts/fts_blog.js
new file mode 100644
index 00000000000..5208c166258
--- /dev/null
+++ b/jstests/core/index/fts/fts_blog.js
@@ -0,0 +1,21 @@
+t = db.text_blog;
+t.drop();
+
+t.save({_id: 1, title: "my blog post", text: "this is a new blog i am writing. yay"});
+t.save({_id: 2, title: "my 2nd post", text: "this is a new blog i am writing. yay"});
+t.save({_id: 3, title: "knives are Fun", text: "this is a new blog i am writing. yay"});
+
+// default weight is 1
+// specify weights if you want a field to be more meaningull
+t.createIndex({"title": "text", text: "text"}, {weights: {title: 10}});
+
+res = t.find({"$text": {"$search": "blog"}}, {score: {"$meta": "textScore"}}).sort({
+ score: {"$meta": "textScore"}
+});
+assert.eq(3, res.length());
+assert.eq(1, res[0]._id);
+
+res = t.find({"$text": {"$search": "write"}}, {score: {"$meta": "textScore"}});
+assert.eq(3, res.length());
+assert.eq(res[0].score, res[1].score);
+assert.eq(res[0].score, res[2].score);