我想了解为什么在使用' q'进行搜索时,以下行为会有所不同?并且' df'。根据我的理解,如果' q'未指定,它将默认为' df'。
示例 搜索的目标是寻找锻炼计划'在'标题'文件领域。
搜索方法#1 http://localhost:8983/solr/workoutstuff/select?q=title:Workout%20Plans&wt=json
搜索方法#2 http://localhost:8983/solr/workoutstuff/select?df=title&q=Workout%20Plans&wt=json
结果
搜索方法#1中有结果,但搜索方法#2中没有结果。
我想了解原因。谢谢!
答案 0 :(得分:1)
如果您未指定 df ,则可能仍会有默认搜索字段,可能是文字字段。(取决于您的配置)。
因此,对于搜索方法1:在标题字段中搜索 Workout 一词,将在默认字段中搜索 Plans 一词(可能文字)因为标题表达式周围没有引号。 例如标题:“锻炼计划”
搜索方法2:在默认字段标题中搜索锻炼或计划。再次,因为没有引号。(假设默认运算符是OR)
因此,如果在搜索值周围添加引号,则两种搜索方法应返回相同的结果。