我正在使用Solr搜索机构......我的Solr DB有大约400,000个文档,每个文档都有多个字段,如(“name”,“id”,“city”,...)......
我的数据库中的文档如下所示:
"docs":
{
"id": "91348",
"p_code": "71637",
"name": "University of Toronto - Mississauga",
"ext_name": "",
"city": "Mississauga",
"country": "CA",
"state": "ON",
"type": "academic/campus",
"alt_name": "",
"ext_city": "",
"zip": "L5L 1C6",
"alt_ext_city": "",
}
我写了一个像{name: (university of toronto)}...
这样的查询。前两个匹配是:
"docs":
{
"id": "91348",
"p_code": "71637",
"name": "University of Toronto - Mississauga",
"ext_name": "",
"city": "Mississauga",
"country": "CA",
"state": "ON",
"type": "academic/campus",
"alt_name": "",
"ext_city": "",
"zip": "L5L 1C6",
"alt_ext_city": "",
"_version_": 1473710223400108000,
"score": 1.499069
},
{
"id": "10624",
"p_code": "7938",
"name": "University of Toronto",
"ext_name": "",
"city": "Toronto",
"country": "CA",
"state": "ON",
"type": "academic",
"alt_name": "Saint George Downtown Campus",
"ext_city": "",
"zip": "M5S 1A1",
"alt_ext_city": "",
"_version_": 1473710220148473900,
"score": 1.4967358
}
我很惊讶地看到“多伦多大学 - 密西沙加”的得分高于“多伦多大学”。直观地说,包含“多伦多大学 - 密西沙加”的领域应该得到较低的分数,因为它比另一个长。
我也非常惊讶地看到Solr为querynorm提供了不同的值,如下所示: 顶级文档的(0.03198291 = queryNorm)和排名第二的文档的(0.03203078 = queryNorm)。我假设所有文档的查询范数应该完全相同,因为它只是查询的函数。
我不确定Solr的工作方式是否有问题,或索引或配置有问题?有人遇到过同样的问题吗?
答案 0 :(得分:0)
确保该字段的omitNorms设置为false,并且您的集合使用的是最新版本的架构。然后重新索引所有文档以使更改到该字段生效。
我发现在索引新内容之前,最好通过完全擦除索引来处理某些架构修改。我不确定,但我相信这可能就是其中之一。对于大多数更改,您只需重新索引所有内容并覆盖旧内容即可。