我让SOLR愉快地运行索引包含美国各州的部门名称列表.它运作良好,但搜索"弗吉尼亚"将会显示包含"西弗吉尼亚"的结果,虽然肯定对某些业务要求有帮助,但不是我们的.
是否有一种特殊的方式可以说X的查询不能包含Y(我不介意为"Virginia"的情况制作一个特殊的查询),或者我只能通过迭代结果来执行此后查询不包括"西弗吉尼亚"的结果?
小智 5
使用减号(连字符)与要排除的短语/术语组合使用.如果使用dismax查询解析器,则甚至不需要指定字段名称.
例子:
使用dismax:
q=virginia -"west virginia"
Run Code Online (Sandbox Code Playgroud)
使用标准查询解析器:
q=field_name:(virginia -"west virginia")
Run Code Online (Sandbox Code Playgroud)
有关更多示例,请参阅Solr查询语法 Wiki页面及其更多链接.