编程语言
首页 > 编程语言> > java – 查询构建器 – 必须/不应该

java – 查询构建器 – 必须/不应该

作者:互联网

我是搜索引擎领域的新手,我想知道是否有人可以帮助我澄清Must / MustNot和Should / ShouldNot搜索查询.

我的理解如下:

Must / MustNot查询是绝对定义(即,结果必须/不得包含指定的字段)

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

如果这是正确的,有人可以向我提供一个例子,说明你何时使用应该/不应该……如果我的理解是完全错误的 – 有人会善意地为我解释(或指向一个好的网站) )?

谢谢!

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

解决方法:

你的理解是正确的.不应该在找到结果时获得较低的重量,但绝不能包括在内.

当术语可能属于不同的域时,不应该使用,但在某些情况下,仍然可能与我正在寻找的文档位于同一文档中.例如,谷歌知道我是一名Java程序员.当我问“蚂蚁”时,第一个结果将是“Apache Ant”.我可能不会使用“-Apache”,或者我可能不应该使用“Apache”,以防某些页面在Apache natives worldview中描述蚂蚁的特殊位置.

或者,例如,我正在寻找一个免费软件来完成任务;如果它不贵或者他们有个人执照,我会考虑付费的.因此,我不应该“立即购买”,结果将包括付费软件,但列表中较低.

标签:java,search-engine,lucene,elasticsearch
来源: https://codeday.me/bug/20190626/1296403.html