私はsolrクエリを使用してドキュメントからキーワードを検索しています。私は正確なフレーズが一番上に来るようにしたいが、同じフレーズがドキュメント内で何度も繰り返される場合は、同じフレーズを複数のフレーズが同じフレーズであるキーワードが高いスコアを得るためにカウントされる必要がある。solr exact search重複するフレーズを無視する
私は "php developer"を検索していますが、2つの結果が見つかりましたが、どちらも同じスコアを持っています。
私たちの必要に応じて、両方とも同じスコアを持つ必要があります。私は文書で見つかったリピートフレーズを無視したい。
あなたはDefaultSimilarityを拡張し、独自のカスタム類似のクラスを作成することができます "のjob_title、key_skills、key_skills_admin、job_detail"
<copyField source="job_title" dest="job_search"/>
<copyField source="key_skills" dest="job_search"/>
<copyField source="key_skills_admin" dest="job_search"/>
<copyField source="job_detail" dest="job_search"/>
{
"responseHeader":{
"status":0,
"QTime":7,
"params":{
"lowercaseOperators":"true",
"mm":"2",
"debugQuery":"true",
"fl":"job_slno,job_title,job_detail,key_skills,key_skills_admin,display_date,score",
"indent":"true",
"q":"\"php developer\"",
"stopwords":"true",
"wt":"json",
"defType":"edismax"}},
"response":{"numFound":110,"start":0,"maxScore":2.518858,"docs":[
{
"job_slno":"243681",
"job_title":"php developer",
"job_detail":"sdf sdfs df",
"key_skills":"php developer",
"key_skills_admin":"php developer",
"display_date":"2016-11-11T00:00:00Z",
"score":2.518858},
{
"job_slno":"243340",
"job_title":"sfsdfs",
"job_detail":"dfsdfsdfsd",
"key_skills":"PHP Developer",
"key_skills_admin":"PHP Developer",
"display_date":"2016-11-13T00:00:00Z",
"score":2.399412},
]
}