Add diminishing returns for notes in Solr scoring

オープン
#412 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python
領域
search

調査の方向性

Start by locating the Solr query configuration and scoring tests, then compare the scores with note search enabled and disabled. Explore how repeated matching notes affect document scores; done means the first few note matches still contribute while additional matches have diminishing influence.

索引モデルが issue の本文から書いたものです。

説明

planning solr

For logged in premium users, they have access to note search.
An example query:
https://www.documentcloud.org/documents/?q=Higganum+complaint

The first few documents are rated so highly not because they are super relevant in content, but because they have a LOT of notes with the word complaint in them. Did testing in the Django shell with my user (which has note search enabled) and those without and the resulting scores for the top 5 documents Solr returns are as follows:

WITHOUT notes:
  id: 2704406 score: 51.575443
  id: 3535180 score: 45.707706
  id: 336686 score: 44.942238
  id: 26948698 score: 41.152092
  id: 6953986 score: 41.038723

WITH notes:
  id: 321087 score: 397.05875
  id: 3034115 score: 186.30943
  id: 28167531 score: 147.98016
  id: 23789873 score: 147.8687
  id: 1369433 score: 132.84674

When looking deeper into the explanation:

doc 321087 has 106 notes matching 'complaint' in title:
note: 47030 title: Telephone-related complaint score: 3.3627408
note: 47031 title: Telephone-related complaint score: 3.3627408
note: 47032 title: Telephone-related complaint score: 3.3627408
note: 47033 title: Telephone-related complaint score: 3.3627408
note: 47036 title: Telephone-related complaint score: 3.3627408

We should add some kind of diminishing return mechanism here so the first few note hits impact score, but the returns diminish with too many

主要言語
Python
スター
55
フォーク
10
平均マージ
1日 13時間
マージ済み PR(30日)
22

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

MuckRock/documentcloud のほかの issue

MuckRock/documentcloud の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。