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

java - 使用多个布尔查询对是或否意见进行分类

我收集了一些推文,表达了对公投的“是”或“否”意见。我也有两组支持是和否的政治家。同样,我有两组表达是和否意见的词。这些词是使用图形分析提取的。

现在我必须决定一条特定的推文属于是意见还是非意见。我怎样才能想出一个查询?

我想到了以下方法来返回 Yes 文件:

你认为上面的查询会起作用吗?我还应该告诉一些词可能同时属于是和否词集。

0 投票
1 回答
83 浏览

lucene - Lucene 搜索大量名称

我试图根据 lucene 索引搜索大量名称(10000+),这些名称是从文本文件中加载的。这是我的代码片段:

- 首先我得到错误:org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:118) 的布尔子句太多

作为在互联网上搜索,我可以修复

BooleanQuery.setMaxClauseCount(Integer.MAX_VALUE);

但是搜索速度很慢并且占用大量内存。

对这个案例有什么建议吗?

欣赏它。

詹姆士

0 投票
1 回答
92 浏览

elasticsearch - ElasticSearch 布尔查询到 Solrj 查询

是否有任何工具或简单的技术可以将复杂的 ES 布尔查询迁移到 Solr/Solrj 查询。
我知道那种must => AND should => OR需要改变的。在此处查询示例 -

0 投票
2 回答
951 浏览

java - Liferay 搜索结构化的网络内容匹配附件的术语

我们有一个带有“文档和媒体”字段的网络内容结构“S”。

我们基于之前的结构“S”创建了一个名为“W”的网络内容,其中包含一个名为“a”的单词文件附件,其中包含“hello”文本。

我们知道 lucene/ElasticSearch 正在索引附件的内容,例如,如果它是一个单词或 pdf 文件。

所以我们做一个 lucene 搜索(使用 booleanQuery,fitering on journalArticle)来检索 S webcontent 以匹配“hello”搜索词。

但是我们看到 lucene 在 journalArticle 上过滤,返回一个带有这些数据的 json 对象:

"ddm__keyword__87940__attachements_en_US":[ {\"groupId\":\"115863\",\"title\":\"a.word\",\"type\":\"document\",\"uuid\": \"dffd1d3d-8b78-a64c-4d0c-8d004d24cb75\"}]

它只有一个对 DLFileEntry 对象的引用。

有没有一种方法,只需一个请求,即可检索与单词附件匹配的期刊文章?

我们看到 Liferay 提出了“索引器后处理器”,它可以帮助我们将 DLFileEntry 数据存储在 Web 内容的新字段中,但 DLFileEntry 索引是异步的。

我们能做什么 ?

0 投票
3 回答
38 浏览

sql - 使用 KeyValuePair 选择表中的数据 - SQL

我正在尝试从键值对中选择数据,问题是每次我使用它时它只显示一条等于 Value 列的记录,但如果我尝试使用OR,它会给我错误的记录返回。我已经做了一些研究,但不幸的是,我什至还没有找到解决方案。

这是我正在尝试的:

我的表:

我使用AND子句时的结果:

我使用OR子句时的结果:

我想要达到的结果:

0 投票
1 回答
98 浏览

spring - 在具有给定 ID 的行中执行 JPA 搜索

我正在努力提高我的应用程序中的搜索效率。我试图解决的用例是给定一组 Id,只在那些给定的行中执行搜索。问题是这个 id 的大小超过 1024。当我使用时,BooleanQuery.setMaxClauseCount(Ids.size()我没有得到 tooManyClauses 异常,但由于超时,它没有返回任何结果。

理想情况下,我想这样做:

以此作为我的 getPrefixSearchQuery 方法:

由于使用上述配置我没有得到任何结果,我必须在获得查询结果后过滤我的结果。这会导致更多问题,因为我必须确保结果的大小等于传递的大小,因此我必须过滤整个结果集,然后对其进行分页以获得结果,而不是过滤结果的第一页所需的大小。这是我现在非常低效的工作:

有什么方法可以在具有给定 ID 的行中执行搜索并对其进行分页?

0 投票
1 回答
5739 浏览

java - 如何使用 Java Api 在 ElasticSearch 中进行布尔查询?

我正在尝试针对我的 elasticSearch 发送一个 bool 查询,以过滤掉文档。如何在 Java 中使用 BooleanQueryBuilder Api 过滤布尔表达式,如 (A AND B AND C) AND (D OR E OR F) AND G?我尝试使用过滤器方法,但我没有得到任何结果。例如:

例如,假设 A、B、C、D、E、F、G 是属性“名称”必须匹配“罗宾”的事件。

我知道这个例子不是很好,但我希望你能帮助我!谢谢!

0 投票
2 回答
303 浏览

string - 多字串的 CrossRef API query.affiliation

我正在学习使用 CROSSREF REST API,并希望搜索与给定大学有关联的所有 DOI。如何为 AND 而不是 AND/OR 创建多词搜索查询?

CrossRef 上有超过 1 亿个 DOI,但只有 8217730 个具有作者隶属关系元数据。

https://api.crossref.org/works?sample=10&filter=has-affiliation:true

现在,如果我想查询与“南密西西比大学”的隶属关系,我可以使用 Mississippi+university+southern,但这会返回 AND/OR 这三个词。

我只想要所有三个词的从属关系。

https://api.crossref.org/works?sample=10&query.affiliation=mississippi+university+southern

这将返回所有带有单词大学或南部或密西西比州

CrossRef 字段查询说明在这里 https://github.com/CrossRef/rest-api-doc#field-queries 和关于该主题的 github 评论在这里 https://github.com/CrossRef/rest-api-doc/ commit/a4d047e0d1556e80aaab0f4b5aae420da2a99ea2和这里https://github.com/CrossRef/rest-api-doc/issues/170

0 投票
1 回答
416 浏览

elasticsearch - 使用过滤器的 constant_score 和 bool 查询之间是否存在性能差异?

当谈到“性能差异”时,我到目前为止还没有读到任何可靠的东西。

基于其官方文档,在bool 查询中使用过滤器

子句(查询)必须出现在匹配的文档中。但是与必须不同,查询的分数将被忽略。过滤器子句在过滤器上下文中执行,这意味着忽略评分并考虑缓存子句。

至于恒分查询

过滤器查询不计算相关性分数。为了提高性能,Elasticsearch 会自动缓存常用的过滤器查询。


只是猜测

常量查询不会计算(TF-IDF或更高级的algs),而bool查询会计算但返回0(忽略它);所以常量查询的性能更高。

此外,当涉及到指定分数时,您必须使用常量分数查询而不是只会返回 0 的布尔查询。

我刚读到的 QA:Elasticsearch : constant_score query vs bool.filter query

0 投票
1 回答
61 浏览

r - 在 R 编程中,any 和 | 有什么区别?(或)布尔运算符?

  • (cond1 | cond2 | cond3 | ...)意思是“一堆条件中的一个或多个是真的吗?”
  • any(cond1, cond2, cond3 ....)意思是“任何条件都是真的吗?”

因此,我们在这里不是说同样的话吗?

使用其中一个有什么优势吗?