2011-04-18 53 views
4

我是新来的搜索引擎场景,我想知道如果有人能够帮助我澄清必须/必须且不应该/不应该搜索查询。查询建设者 - 必须不应/不应该


我的理解如下:

必备/ MustNot疑问是绝对的定义(即,结果必须/不得含有指定字段)

的是否应/不应该查询是相对定义(即在某些情况下,它应该/不应该包含指定的字段)


如果这是正确的,可能有人请我提供的时候,你会使用时应为例/ ShouldNot ......如果我的理解是完全错误的 - 会有人友好地解释这对我(或指向我一个好的网站)?

谢谢!

Ps。我正在使用弹性搜索(基于Lucene) - 但欢迎任何示例/解释

回答

4

您的理解是正确的。不应该结果在找到时得到较低的权重,而绝不能包括在内。

当该术语可能属于不同的域,但在某些情况下仍然可能与我正在查找的文档位于同一文档中时,应该使用SHOULD NOT。例如,谷歌知道我是一名Java程序员。当我问“ant”时,第一个结果将是“Apache Ant”。我可以使用MUST NOT作为“-Apache”,或者我可以使用SHOULD NOT“Apache”,以防万一某些页面在Apache本地世界观中描述了特殊的蚂蚁位置。或者,例如,我正在寻找一个免费软件来完成任务;不过,如果价格不贵,或者他们有个人许可证,我会考虑付费的。因此,我会使用不应该“立即购买”,结果将包括付费软件,但在列表中较低。

+0

优秀的,很好的解释。非常感谢你! – 2011-04-18 13:59:21