2017-03-27 10 views
0

私は私の学校のMongoDBプロジェクトに取り組んでいます。私は文章の集まりを持っています。私はコレクション内で最も似た文を見つけるために通常のテキスト検索を行います。これは得点に基づいています。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#を使用していますが、実装については心配しないでください。私は擬似コードソリューションを気にしません!

+0

70%の類似性とは何を意味するのでしょうか?類似性の測定にはどのようなスコアを使用しますか? – kraskevich

+0

私は実際に文書をアップロードした剽窃ソフトウェアを作成しようとしています。そして、それぞれの文は文のプールと比較されます。したがって、最高スコアスコアが70%以上類似している場合、盗作の可能性があります。 –

答えて

0

テキスト検索では、索引付けされたフィールドに検索語を含む各文書にスコアを割り当てます。スコアは、特定の検索クエリに対するドキュメントの関連性を決定します。

ドキュメント内の各インデックスフィールドに対して、MongoDBは一致の数に重みを掛けて結果を合計します。この合計を使用して、MongoDBはドキュメントのスコアを計算します。

インデックスされたフィールドのデフォルトの重みは1です。

https://docs.mongodb.com/manual/tutorial/control-results-of-text-search/

関連する問題