我正在尝试实现一个搜索,迭代在我们的网站上的新注册,并寻找副本。
对于原型开发和播放,我已经将测试用户编入了字段索引。
假设我们有一个新用户,他的名字叫罗伯·刘易斯,他住在西雅图。我想做一个MM搜索,所有现有的用户,至少匹配2个的firstName:Rob :Lewis市:西雅图。
所以我想找到
我想我应该可以用dismax (或者edismax)用
但这似乎行不通。MM对结果没有影响,我只得到相同的列表,就好像我没有指定MM (即所有的Robs、所有Lewises和所有生活在西雅图的用户)。
此外,为了测试,我尝试了mm=100%,我希望它只匹配在西雅图的罗伯刘易斯。然而,它再次匹配所有的抢劫犯,所有的路易塞斯和所有生活在西雅图的用户)。
我怎样才能实现我想要的结果?
发布于 2014-08-28 19:58:45
除非我误解了您的问题,否则没有必要使用q.alt --您可以直接与defType=edismax一起使用q。我将按照说明(使用q.alt)回答问题的其余部分。
默认情况下,q.alt参数使用Lucene查询语法,而mm只被识别为(e)dismax参数。
还可以通过q.alt命令Solr使用localParams选项的(e)dismax解析器:
q.alt={!dismax}firstName:Rob lastName:Lewis city:Seattle还可以通过localparams提供特定的mm值:
q.alt={!dismax mm=2}firstName:Rob lastName:Lewis city:Seattlehttps://stackoverflow.com/questions/25556519
复制相似问题