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

lucene.net - Lucene.Net:如何将 MultiFiledQueryParser 转换为 BooleanQuery?

这是我当前执行多字段查询的代码

我只是不知道该怎么做。如何更改它以便我可以进行布尔查询并包含第二个过滤器?

注意:我仍然需要能够搜索诸如

用户:用户名
位置:德国

我之前尝试过严格的布尔查询,但无法使用上述搜索词。不知道我哪里出错了。

0 投票
2 回答
421 浏览

algorithm - lucene 布尔搜索

我想知道 lucene 如何找到与这样的布尔查询匹配的文档:"+a +b c",我的意思是它的算法是什么?

谢谢

0 投票
0 回答
1275 浏览

c# - 使用 TermQuery 的 lucene 布尔查询?

我得到以下代码:

生活很好。直到我注意到,我得到的结果也是NotActive。所以我对自己说,好的,没问题,让我们在 for 循环之后向 mainQuery 添加另一个查询,如下所示:

不幸的是,这不起作用。任何人都可以指出我这样做的正确方向吗?我已经阅读了有关过滤器的信息,甚至设法应用了一个,但后来我失去了分数(好吧,并不是真的输了,但它们与原始查询相差甚远)。我也读过TermQueryWrapper,但找不到如何实现它(所以我不知道这是否是我需要的,即使它似乎是正确的方向)。

编辑:我忘了提,中的所有字段fields都已分析,StateProperties.IsActiveNOT_ANALYZED.

0 投票
2 回答
2208 浏览

java - 如何使用布尔搜索语法进行 Java 字符串匹配?

我正在寻找一个 Java/Scala 库,它可以接受用户查询和文本并返回是否匹配。

我正在处理信息流,即:Twitter Stream,并且无法使用批处理过程,我需要实时评估每条推文,而不是通过 Lucene RAMDisk 对其进行索引并稍后查询。

可以使用ANTLR创建解析器/词法分析器,但这是一种常见的用法,我不敢相信以前没有人创建过库。

TextQuery Ruby 库中的一些示例完全符合我的需要:

一旦它在 Ruby 中实现,它就不适用于我的平台,我也不能仅在我们的解决方案中使用 JRuby:

我发现了一个类似的问题,但无法从中得到答案: Boolean Query / Expression to a Concrete syntax tree

谢谢!

0 投票
2 回答
832 浏览

python - 使用 Python 构建树

我正在尝试实现未排序的布尔检索。为此,我需要构建一棵树并执行 DFS 来检索文档。我有叶子节点,但我很难构建树。

例如:查询 = OR ( AND (maria sharapova) 网球)

结果:

我使用 DFS 遍历树并计算某些文档 ID 的布尔等效值,以从语料库中识别所需的文档。有人可以帮助我使用 python 设计这个吗?我现在已经解析了查询并检索了叶节点。

编辑:我是新来的,所以对缺乏清晰度表示歉意。我基本上是在尝试构建一个非常幼稚的搜索引擎。因此,用户输入任何布尔查询,例如:OR(AND (maria sharapova) 网球)。我有一个维基百科文档语料库,根据您键入的查询显示给用户。

到目前为止,我已经解析了查询以检索单个运算符(如 OR、AND 等)。并且,个人搜索词(玛丽亚、网球等)。解析代码只是一个函数,它基本上将所有运算符和查询术语按类型分组。即(玛丽亚莎拉波娃),(网球),或,和。我以这种方式解析了这个函数,以便自下而上地创建一个树。现在,对相应的关键字(如网球、玛丽亚、莎拉波娃等)使用倒排列表,我对倒排列表执行布尔运算以获得某个“documentid”。然后将此 documentid 传递给 API,然后该 API 将检索正确的维基百科页面。

只是为了更详细地解释该主题,请参阅此文档以获取有关我手头问题的更多信息: http ://www.ccs.neu.edu/home/jaa/CSG339.06F/Lectures/boolean.pdf

0 投票
3 回答
44414 浏览

boolean-logic - 布尔代数:证明

我在布尔代数中遇到以下问题,即

A+A'B = A+B

我需要证明上面的部分。我的意思是它已经减少了我不能进一步减少它。

0 投票
4 回答
832 浏览

php - !$a 和 $a 之间的 php 区别 === false

可能重复:
是 !$page == false 还是 $page 在 php 中?

这两种支票有什么区别?哪种类型检查称为失败并返回 false 的函数或方法的正确方法?

或者

0 投票
1 回答
184 浏览

javascript - 调整 Google 新闻脚本以返回当前月份

如何调整这个 Google 新闻脚本 - 我假设使用变量 - 将当前年份和当前月份放在布尔搜索中 - 具体来说,以“tabbed.execute(...?”

我的最终目标是让这个脚本在当前年份和月份的上下文中返回搜索词。感谢帮助新手!

0 投票
1 回答
2216 浏览

c# - 为什么 Lucene.NET 3.0.3 中的 BooleanQuery 不返回任何内容?

我正在使用 Lucene.NET 3.0.3 搜索两个字段(我有两个名为“Noidung”、“Dapa”的字段),我BooleanQuery在 C# 中使用它,但是当我运行此代码时没有返回结果,我确信要搜索的源没有问题,因为我对其进行了测试。那么使用 Lucene.NET 3.0.3 的人可以提供一些解释吗?


我在索引中有 2 个字段(“Noidung”、“Dapa”)。现在我想在“Noidung”字段中搜索,然后用“Dapa”搜索结果。我使用 booleanQuery 但没有返回结果?帮我?

0 投票
3 回答
376 浏览

mysql - 对mysql结果的布尔运算

我有 3 个 Mysql 表:

[块值]

  • id_block_value
  • 文件标识

[元数据]

  • id_metadata
  • 元数据名称

[元数据值]

  • meta_id
  • 价值
  • blockvalue_id

在这些表中,有对:metadata_name=value 并且对的列表放在块中 ( id_block_value)

(A)如果我想要高度 = 1080:

(B)如果我想要文件扩展名 = mpeg:

但是,如果我想:

  • 甲和乙
  • 甲或乙
  • A而不是B

然后,我不知道什么是最好的。

对于A or B,我尝试A union B了似乎可以解决问题的方法。

对于A and B,由于Mysql中没有intersect,我试过了A and file_id in(B),但是看看perfs(> 4mn)......

我也试过B and file_id in(A)了,好多了,但我永远不知道先放哪个。

那么……我现在该怎么办?布尔运算有更好的方法吗?任何提示?我错过了什么?

编辑:什么数据看起来像:

该数据库在FILE表中包含插入的每个音频/视频文件的一行:

  • 10、/path/to/file.ts
  • 11、/path/to/file2.mpeg

METADATA每个潜在信息在表中都有一行:

  • 301,身高
  • 302,文件扩展名

然后,BLOCK表中的一行定义了一个容器:

  • 101、视频
  • 102、音频
  • 104、一般

一个文件可以有多个元数据块,一个BLOCK_VALUE表包含 BLOCKS 的实例:

  • 402, 101, 10 // 视频 1
  • 403, 101, 10 // 视频 2
  • 404, 101, 10 // 视频 3
  • 405, 102, 10 // 音频
  • 406, 104, 10 // 一般

在本例中,文件 10 有 5 个块:3 个视频 (101) + 1 个音频 (102) + 1 个常规 (104)

值存储在METADATA_VALUE

  • 302, 406, "ts" // 文件扩展名,通用
  • 301, 402, "1080" // 高度,视频 1
  • 301, 403, "720" // 高度,视频 2
  • 301, 404, "352" // 高度,视频 3