Solr查询行为



我有一个包含菜谱的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 

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

我会这样做:

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

这个适合我。

您可以像这样添加所有不包含项:

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

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

我假设你正在使用Solr 3.1和edismax

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

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

相关内容

  • 没有找到相关文章

最新更新