Search Solr在不同场景的顶部列出部分匹配项
我已使用搜索文本“安泰航空”对字段公司进行了搜索(**这是ngram-d,因为我需要获取部分匹配的结果)。**。我可以把精确匹配和部分匹配放在最上面。 我需要处理一个场景,例如: 示例:根据以下结果,我需要在“信诺健康计划-METH”的顶部添加“安泰更好的HLTH PAHMO”和“安泰更好的健康MAHMO”。 在这里,即使这些结果也没有“安泰”,而是“安泰”。我需要显示从这个开始的结果,下面是精确匹配和类似匹配Search Solr在不同场景的顶部列出部分匹配项,search,solr,full-text-search,search-engine,Search,Solr,Full Text Search,Search Engine,我已使用搜索文本“安泰航空”对字段公司进行了搜索(**这是ngram-d,因为我需要获取部分匹配的结果)。**。我可以把精确匹配和部分匹配放在最上面。 我需要处理一个场景,例如: 示例:根据以下结果,我需要在“信诺健康计划-METH”的顶部添加“安泰更好的HLTH PAHMO”和“安泰更好的健康MAHMO”。 在这里,即使这些结果也没有“安泰”,而是“安泰”。我需要显示从这个开始的结果,下面是精确匹配和类似匹配 "docs": [ { "company": "AETNAHMOGN
"docs": [
{
"company": "AETNAHMOGNPIPA",
"score": 0.32741508
},
{
"company": "AETNAHMOPOSOUT OF NETWORK",
"score": 0.32741508
},
{
"company": "CIGNAHMO HEALTHPLAN - METH",
"score": 0.14788051
},
{
"company": "CIGNAHMOPOSOZ08",
"score": 0.14500062
},
{
"company": "CIGNAHMOPOSGNPIPA",
"score": 0.14500062
},
{
"company": "HUMANAHMO MCD",
"score": 0.14500062
},
{
"company": "AETNA BETTER HLTH PAHMO",
"score": 0.1069743
},
{
"company": "AETNA BETTER HEALTH MAHMO",
"score": 0.1069743
},
{
"company": "MOLINA HLTHCARE IL PAHMO",
"score": 0.067287326
},
{
"company": "BCBSMAHMO OUTPT",
"score": 0.065203
}
]
有没有办法做到这一点。请帮助短语增强在这里有效 您需要使用
edismax
查询解析器以及pf
字段
以下附加到查询中的参数应起作用:
&defType=edismax&pf=company
我已经在Solr-5.4.1上用上面发布的数据集对此进行了测试,结果如下:
查询:http://localhost:8983/solr/Test/select?q=company%3Aaetnamho&wt=json&indent=true&defType=edismax&pf=company&stopwords=true&lowercaseOperators=true&omitHeader=true
答复:
{
"response":{"numFound":9,"start":0,"docs":[
{
"company":"AETNAHMOPOSOUT OF NETWORK",
"id":2,
"_version_":1530885533005250560},
{
"company":"AETNA BETTER HEALTH MAHMO",
"id":8,
"_version_":1530885600368918528},
{
"company":"AETNA BETTER HLTH PAHMO",
"id":7,
"_version_":1530885592734236672},
{
"company":"AETNAHMOGNPIPA",
"id":1,
"_version_":1530885512290631680},
{
"company":"CIGNAHMO HEALTHPLAN - METH",
"id":3,
"_version_":1530885543046414336},
{
"company":"MOLINA HLTHCARE IL PAHMO",
"id":9,
"_version_":1530885608894889984},
{
"company":"CIGNAHMOPOSGNPIPA",
"id":5,
"_version_":1530885565434560512},
{
"company":"CIGNAHMOPOSOZ08",
"id":4,
"_version_":1530885555631423488},
{
"company":"HUMANAHMO MCD",
"id":6,
"_version_":1530885585061806080}]
}}
你的明格拉姆尺码是多少?如果您可以发布字段定义IDIDWhat query parser,这将非常有用:谢谢。但这对我来说是行不通的。你能为字段和字段类型发布模式吗。我使用的是我最初发布的字段和文件类型。我也使用了相同的字段和文件类型。你看到了什么样的结果?另外,我刚刚尝试了一家现场公司。如果您也在根据其他字段搜索和/或评分,那么您看到的结果将有所不同。在这种情况下,你将不得不通过提高pf来达到适合你的正确价值。除了公司,我也得到了分数。。另外,我正在搜索大约60000个文档。这是我现在所能看到的唯一不同。。我会检查更多,并让你知道更新soonSorry,这个短语查询不适合我,我只是按照你说的查询。我也尝试过使用新创建的core来处理相同的数据集。但我还是达不到要求。我找不到任何差异,我按照最初发布的顺序列出数据。我不知道我错在哪里