1

我有一个包含食谱的 Solr 安装。

每个食谱都有多种成分,我目前正在构建一个食谱搜索,您可以输入“包含/排除”,然后我有一个自制的重量系统,之后会出现。

然而,查询构建已关闭,因此需要改进。

// Works perfect - 109 results
ingredients:chicken OR tomatoes OR bacon

// Down to 7 results - Definitely wrong
ingredients:chicken OR tomatoes OR bacon AND -ingredients:garlic 

我已经尝试以任何方式构建此查询,但无法找出可接受的“模糊过滤器”

4

2 回答 2

1

我会做:

ingredients:((chicken OR tomatoes OR bacon) AND NOT garlic)

这对我有用。

您可以像这样添加所有排除项:

ingredients:((chicken OR tomatoes OR bacon) AND NOT (garlic OR peanuts OR spinach))
于 2011-04-06T08:46:50.987 回答
0

尝试ingredients:chicken OR tomatoes OR bacon AND (-ingredients:garlic)

我假设您正在使用 Solr 3.1 和edismax.

我发现在括号中包含否定查询是有效的。我没有时间更详细地研究这个问题,并弄清楚这是预期的行为还是错误。如果您对此进行更详细的调查并确认这是一个错误,请在此处打开 Jira 问题。

请注意,我上面建议的查询将根据您的配置在默认字段中搜索西红柿/培根。如果您只想在其中搜索它们ingredients,请使用ingredients:(chicken OR tomatoes OR bacon) AND (-ingredients:garlic)

于 2011-04-06T05:01:47.670 回答