【发布时间】:2017-08-19 20:53:47
【问题描述】:
我正在为我的学校开发一个 MongoDB 项目。我有一个句子集合,我做一个普通的文本搜索来找到集合中最相似的句子,这是基于评分的。
我运行这个查询
db.sentences.find({$text: {$search: "any text"}}, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}})
当我查询句子时看看这些结果,
"that kicking a dog causes it pain"
----Matched With
"that kicking a dog causes it pain – is not very controversial."
----Give a Result of:
*score: 2.4*
"This sentence have nothing to do with any other"
----Matched With
"Who is the “He” in this sentence?"
----Give a result of:
*Score: 1.0*
什么是分值?这是什么意思? 如果我想显示只有 70% 及以上相似度的结果。
如何解释得分结果以便显示相似度百分比,我正在使用 C# 来执行此操作,但不必担心实现。我不介意伪代码解决方案!
【问题讨论】:
-
70% 的相似度是什么意思?你想用什么样的分数来衡量相似度?
-
我实际上正在尝试制作一个抄袭软件,您可以在其中上传文档,然后将每个句子与句子池进行比较。所以,当最高分的句子相似度达到 70% 或更多时,就有抄袭的可能性。
-
@NasriYatim 你找到方法了吗?
-
嗨 Nasri,我也是 MongoDB 的新手,对我来说,我需要从名称字段中搜索名称“Raja Sekar”,我已将其编入索引。但我的条件是搜索词应该匹配 75% 的相似记录。你能帮我解决这个问题吗
标签: mongodb algorithm full-text-search