问题标签 [booleanquery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
770 浏览

lucene - BooleanQuery setDisableCoord

我不知道 setDisableCoord 是什么以及我应该为它设置什么值。我在一个简单的查询(例如 TFIDF 查询)中理解坐标。但是不明白在由多个查询组成的布尔查询中是什么意思。

为了给出一些上下文,假设以下两种情况。我应该在 setDisableCoord 中为他们每个人设置什么值?

  1. 在第一个场景中,我有一个带有 BooleanClause.Occur.FILTER 的查询(该查询仅用于过滤)和另一个用于评分(BooleanClause.Occur.MUST)。在这种情况下,第一个查询仅检查文档的“年份”字段是否在指定范围内,第二个查询使用某种算法进行排名。
  2. 在第二种情况下,我有两个带有 BooleanClause.Occur.SHOULD 的查询,它们的分数必须结合起来才能获得文档的最终检索分数。
0 投票
1 回答
110 浏览

elasticsearch - ElasticSearch Bool Fitler 似乎不适用于字符串术语

我正在尝试使用布尔过滤器执行查询,但是当类型是字符串时它似乎不起作用。

例子:

当我将此有效负载发送到我的 _search 端点时:

结果是:

然后当我尝试用这样的语言术语过滤它时:

我的结果有 0 次点击:

这对我来说似乎很奇怪,因为您可以在我的第一个结果中看到过滤器应该与我的数据匹配。

我四处搜索,一篇文章提到我可能没有将所有内容都编入索引。但据我所知,我当然有。有任何想法吗?

0 投票
0 回答
34 浏览

java - Lucen 查询解析器?

我正在学习搜索对文本文档执行的查询。但是语言不是英语。我必须学习和使用它,但BooleanQuery不能MultiFieldQueryParser在 Lucene 6.2.0 中运行。示例:句子查询:Tôi đang đi học 文档:..Tôi là một sinh viên chăm chỉ. Tôi đang học bài ở thư viện trung tâm. Nhưng mẹ tôi gọi về nhà..

如何在文档中搜索查询。

0 投票
3 回答
47 浏览

c# - 除非属性为假,否则类别不是这个

正如标题所描述的。我被卡住了,在 LINQ 语句中简单地使用 and、xor 或表达式。

我希望其他布尔操作在哪里过滤列表,并且其余项目不应属于“某物”类别,除非 IsReviewed 布尔为假。

另一种表达方式是:我希望显示任何类别的项目,除了“某物”类别,除非它没有经过审查。

感谢您的指导。

0 投票
1 回答
223 浏览

elasticsearch - ElasticSearch 5.x 应该查询与过滤

我对来自 ES 查询的结果有疑问。过滤查询会产生一些令人困惑的结果,我不知道如何克服它。所以:

我在这里想要的是:获取其名称、描述或文本与查询匹配的所有记录或所有项目(它是映射中的 _type),其 ID 为 1 或 2。结果似乎完全符合我的预期,我得到了例如:5 个匹配项、2 个联系人类型、1 个项目匹配“searchquery”以及 2 个 ID 为 1 或 2 的项目。好!

但我有一些授权,所以并非所有用户都访问所有模块(项目有另一个字段,例如:ModuleId)。

所以我想将结果限制为特定的 ModuleId:

和繁荣!在结果中,我得到了all,其与上述查询匹配,并且所有 Projects 的 ModuleId 为 9 或 5。我想要的是缩小结果而不是扩大它们。我已经尝试了很多应该、必须、过滤器(以及布尔过滤器)的组合。我也尝试过 post_filter ,它“神奇地”给了我预期的结果,但我也有一些聚合(不在这个例子中),所以它不是一个选项。

0 投票
1 回答
239 浏览

python - 在 Python 中操作嵌套的布尔查询字符串

我有这样的字符串布尔查询

目前我很难修改上面的查询字符串,因为我想

  1. OR(x3,y3)在最后添加另一个XOR
  2. 删除整个 OR(abc,xyz,wxy)

具有所需的输出

我想我不能轻易做到这一点,除非我为每个不同的查询提出一个复杂的正则表达式。

我正在尝试编写一个 python 函数,它将上面的字符串布尔查询作为输入并输出一个树数据结构。

这样我就可以遍历树并评估或更改我想要更改的任何查询部分。

在上面的例子中,如果我把它当作一棵树,我可以很容易地看到根是AND并遍历/修改其他分支等等。

0 投票
1 回答
760 浏览

solr - 具有多个否定的 Solr 查询

在 Solr 6.5.1 上,我有一个*_txt_en字段和一个string文档类型字段。在这些字段上,我想构建一个表单的查询:

匹配特定文档类型的所有文档,其中:

  1. 某些短语(“短语一”、“短语二”)必须出现在要匹配的文本字段中
  2. 但如果其他短语(“短语三”、“短语四”、“短语五”)也出现在该字段中,则不匹配。

我当前编写的 Solr 查询如下所示:

(documenttype:references AND (field:"phrase one" OR field:"phrase two")) AND NOT field:"phrase three" AND NOT field:"phrase four" AND NOT field:"phrase five"

我能想到的另一种选择是:

(documenttype:references AND (field:"phrase one" OR field:"phrase two")) AND NOT (field:"phrase three" OR field:"phrase four" OR field:"phrase five")

上述查询似乎适用于几个示例的玩具数据集。但我了解到,使用 Solr,有一些不成文的规则和不明显的缺陷,尤其是在布尔查询中使用否定。

对于我描述的查询,这是形成它们的正确语法吗?

0 投票
1 回答
35 浏览

solr - 在 lucene 中过滤布尔查询结果

我的 solr json 响应如下,

我们正在搜索我们正在使用以下布尔查询的特定属性 ID,

这是给出以下响应,

现在我需要一个查询来获取只有hotelInfo 而没有设施信息。

在此先感谢您的帮助。拉格万

0 投票
0 回答
74 浏览

java - index() 需要具有非空列表顺序列的 CollectionMapping 的 QueryKeyExpression

我有两个实体,一个保存基本案例相关数据,另一个保存某个案例的所有更新。

另一个具有ManyToOne关系的类如下

我正在尝试使用 BooleanExpression 搜索 Case 表和 CaseUpdate 表来构建查询。当它尝试搜索时出现异常

引起:org.eclipse.persistence.exceptions.QueryException:异常描述:index() 需要具有非空列表顺序列的 CollectionMapping 的 QueryKeyExpression。[org.eclipse.persistence.mappings.OneToManyMapping[caseUpdates]]在[Query Key caseUpdates Base au.net.iinet.fms.data.entities.Case]中不满足这个条件查询:ReportQuery(referenceClass=Case jpql= "select count(case) from Case case left join case.caseUpdates as case_caseUpdates_0 where index(case_caseUpdates_0) = ?1 and case.faultIncident.faultDomain = ?2 and case_caseUpdates_0.status = ?3")

以下代码用于创建搜索条件

QCase 类是使用 Querydsl 生成的。我不确定这个异常意味着什么以及如何解决它,有什么想法吗?

0 投票
0 回答
38 浏览

postgresql - 布尔查询等于的工作方式类似

我正在尝试为 SOLR 引擎准备一些布尔查询,以查找一些具有特定位置字段的文档。我得到的结果似乎很奇怪。由于我公司的安全策略,我无法提供与我使用的完全相同的代码,但我试图简化此查询:

并且此查询按预期返回格但斯克市的结果。但是当我添加一些像这样的另一个条件时:

在我的结果中,我得到了城市 Gdańsk 和 Gdańsk-Wrzeszcz 的文档。突然“:”似乎像预期的那样“喜欢”而不是“等于”。有人知道可能是什么原因吗?