我搜索游戏“质量效应2”
http://localhost:8085/solr/select/?defType=edismax&qf=title&q=Mass+Effect+2&mm=1除了“质量效应2”和“Showdown Effect”之外,它还发现了像“边界2”、“原型2”和其他名称中有"2“的游戏。所以我想排除那些只与"2“匹配的文档。
title字段定义为:
<field name="title" type="text" indexed="true" stored="true" multiValued="false" />发布于 2013-01-28 18:42:18
这不是一个确切的答案,但一个简单的答案,可能对你的情况是好的。您可以使用minimum should参数和edismax查询解析器,因此如果查询中有一个数字,则可以增加该数字并使用2。
http://wiki.apache.org/solr/DisMaxQParserPlugin#mm_.28Minimum_.27Should.27_Match.29
考虑到不是只排除-number,用例可以被告知为"use an argument only for boosting",您可以重写查询并使用嵌套查询作为分数。就像写在:http://searchhub.org/2009/03/31/nested-queries-in-solr你的查询可以被写成
text:Mass Effect OR query:"{!dismax mm=2 }Mass effect 2"它的想法是不使用数字进行查询,并将数字作为嵌套查询包含在内,以增加数字
发布于 2013-01-24 03:30:29
用“pf”短语增强而不是用引号短语搜索会给你带来更好的结果吗?它说所有的元素都在附近,不一定是相同的顺序。
https://stackoverflow.com/questions/14485318
复制相似问题