问题标签 [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 回答
7605 浏览

c# - Nest Elasticsearch,结合 Must 和 Should 的 bool 查询

我想按年份、格式和内容过滤一组文档。

n 伪 SQL:

如您所见,格式和内容项的数量是动态的,将由用户选择。到目前为止,我想出了如何分别对每个字段进行动态查询,然后使用 bool 查询将它们组合起来,如下面的代码;

当我运行此代码时,年份和内容字段的结果是我所期望的,但过滤列表中没有的其他格式也包括在内!我希望它只检索具有所选格式的文档。有谁知道我的错误在哪里?

0 投票
1 回答
564 浏览

java - lucene BooleanQuery.Builder 构建不起作用

大家好,我有一个问题:)

我像这样创建一个 BooleanQuery:

如果我现在做这样的搜索:

它得到零结果?但是,如果我使用此代码:

然后我得到正确的结果?你能解释一下为什么我必须再次解析它吗?

我使用的是 5.5.0 版,名称是 TextField

0 投票
1 回答
113 浏览

regex - 用于匹配不正确的 AND OR 逻辑的正则表达式

我需要一个可以匹配不正确AND/OR逻辑语句的正则表达式,但如果它们在引号中则不能,例如:

不应在以下位置找到匹配项:

AND如果或OR两侧至少有 1 个空白字符加上 1 个非空白字符并且这些字符不是由ORor组成,则不会有任何匹配AND。因此,例如 ..R AND S.. 不应该匹配但(OR) OR (OR)(AND) AND (AND)应该匹配。

火柴

AND您会注意到一些示例在or运算符之前、之后或两侧包含空格OR,这些也需要匹配。

我正在使用 .NET 框架,这就是我想出的有效方法。但是,这似乎太复杂了!必须有一种方法来简化它。

0 投票
1 回答
95 浏览

performance - 过滤布尔字段会增加延迟和 CPU

我正在使用 AWS ElasticSearch 服务 (1.5.2) 并且每秒接收超过 100 个请求而没有问题。

几乎每个查询都有地理过滤器、全文过滤器、整数过滤器……但我有一个问题,多添加一个简单的过滤器;一个布尔项过滤器。

添加布尔过滤器后,ElasticSearch 的所有节点中的 CPU 从 10% 增加到 30%,在 10-15 分钟内,平均延迟从 20 毫秒增加到 400 毫秒,一段时间后延迟恢复到正常数字,但 CPU 没有。

该布尔字段已正确映射并且可搜索......有人暗示过这个问题吗?(由于我使用的是官方 Java 库,查询是用“terms”而不是“term”形成的)。

0 投票
1 回答
40 浏览

java - 分层评分 Lucene,或长期治疗

我试图将兴趣配置文件翻译成一些 Lucene 查询。

给定一个标题词和一些扩展词,采用 JSON 格式,例如

{"title":"Donald Trump", "Expansion":[["republic","republican"],["democratic","democrat"],["campaign"]]}

对应的 Lucene 查询可以是 BooleanQuery,如下所示(设置标题词提升因子为 3.0,扩展词提升因子为 1.0)。

+(text:donald^3.0 text:trump^3.0 (text:democrat text:democratic) (text:republic text:republican) text:campaign)

使用IndexSearcher's explain()方法,

一个匹配的文件,如,

I know people just want to find a way to be famous without taking any risks, republic republican Donald Trump Campaign.

得分为 9.0

有什么方法可以重写 Lucene 评分函数,对 BooleanQuery (text:republic text:republican) aka 进行评分。集群["republic","republican"]作为“republic”的匹配权重或“republican”的匹配权重的最大值?

0 投票
1 回答
5162 浏览

java - Lucene 6.0!如何实例化 BooleanQuery 并在其中添加其他搜索查询?

如何在 Lucene 6.x 中实例化 BooleanQuery?如何使用布尔查询在其中添加其他查询?

在 Lucene 4.x 中,我们使用 BooleanQuery 如下:

如何在 Lucene 6 中实现这一点。

0 投票
0 回答
19 浏览

mysql - 检查搜索查询是否用于布尔模式

我应该如何检查查询是否应该用于 MySQL Boolean Mode FULLTEXT 搜索而不是 NATURAL MODE 搜索?使用正则表达式或其他方法检测特殊字符运算符,例如 +、-?

0 投票
3 回答
480 浏览

elasticsearch - Elasticsearch - 如何猜测查询中的重要单词?

假设我们正在对可用职位索引执行两个查询,如下所示:

  • PHP 开发人员
  • 红宝石开发人员

当执行简单的布尔AND查询时,像PHP Programmer这样的职位将被排除在外,因为缺少developer当对包含Ruby 开发者的PHP 开发者文档执行OR布尔查询时,结果中也将包含该文档。

在PHP Developer中检测到PHPDeveloper更重要的最佳方法是什么?

因此,当对PHP Developer执行搜索时,PHP术语必须出现在结果中,但Developer部分只会增加分数。

0 投票
2 回答
2479 浏览

elasticsearch - Elasticsearch 中布尔查询中“必须”的 Min_score

有没有办法在弹性搜索的布尔查询中将最低分数应用于必须子句。

我希望能够做这样的事情:

这将要求名称查询与分数 > 0.3 匹配,地址查询与分数 > 0.3 匹配,才能返回文档。这是为了阻止返回非常好的名称匹配,尽管地址匹配很糟糕(例如,仅匹配 1),反之亦然。

我目前正在使用 Elasticsearch 1.5,但我过去也希望在 2.3 中使用它。

0 投票
2 回答
1038 浏览

arrays - 数组字段中的布尔查询

关于查询嵌套到数组字段的布尔字段和字符串字段,我有一个非常特殊的问题。索引映射如下:

文档索引还有许多其他字段,它们没有嵌套到数组字段中,但必须包含在查询字段中。我尝试了一种使用过滤器和布尔查询的方法,如下所示:

此查询的问题在于它返回的文档在我看来不必返回。在这种情况下,文档如下:

如您所见,array_field_1 的第三项包含 boolean_field_2: false 以及正在搜索的文本。但是,根据我的 filter: 子句,只有 array_field_1.boolean_field_2 为 true 的文档必须被检索,除非 array_field_2.integer_field_1: 或 array_field_3.integer_field_1 出现,根据我的查询部分,这是不正确的。似乎弹性没有考虑到 array_field_1[2] 是 boolean_field_2 为假的那个。如何进行查询,以免检索到此文档?

谢谢,Guilherme