使用api索引以下格式的多个数据
{
"id":"doc_21",
"contact":[9999999999],
"description":"description goes here",
"address":"address goes here",
"rank":26,
"business_id":21,
"thumbs_down":1,
"keywords":["web designer in New York",
" web designer"],
"title":"sample title"
}
现在,如果我要搜索
q:"keywords:\"best web designer in New York\""
然后我没有任何记录,因为任何记录中都没有 best 。
但是我想要的是它应该首先与完全匹配的关键字匹配,然后它应该提供较少匹配的记录。例如,如果我使用关键字纽约最佳网页设计师进行搜索,那么solr还必须返回纽约网页设计师,纽约的网站设计师 ,纽约的设计师,纽约的。
谢谢
答案 0 :(得分:1)
只要您已在正确标记化的字段类型中索引了内容(默认情况下包含text_general
字段类型,并且在无模式模式下自动用于文本字段),Solr会为您完成此操作。
您可以use the mm
parameter告诉Solr查询中至少70%的术语必须匹配:
在查询字符串后附加&mm=70%
(并使用dismax或edismax查询解析器):
百分比
70%
将匹配子句的最小数量设置为可选子句总数的此百分比。根据百分比计算得出的数字将四舍五入并用作最小值。