问题标签 [term-query]
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.
elasticsearch - 词条查询不返回任何结果
我正在尝试使用嵌套术语查询在弹性搜索中查找一些实体。如果我执行我的搜索查询,则没有命中。但是,如果我将查询更改为使用“匹配”而不是“术语”,我将获得成功。我可能做错了什么?
我想要实现的是只返回完全匹配。
ES中的实体如下
提示:这只是我执行搜索的部分。
它有以下映射
和搜索查询(如果术语与匹配切换它会起作用,但我只想要完全匹配)
我的第一个想法是它与搜索分析有关。但我不确定如何为这个特定查询设置它们。我正在使用 Elasticsearch Java API。
elasticsearch - 禁用 Elasticsearch 搜索分析器
- 我正在使用 elasticsearch 7.2 版,并且正在
改进应用程序进行的 ES 调用的性能
。 - 根据我的阅读,如果我们没有设置“搜索分析器”,默认情况下将设置标准分析器。
- 但是在不需要分析器的情况下,拥有分析器可能会影响性能。将所有字段都作为“关键字”可以防止这种情况吗?
- 或者有没有其他方法可以禁用这个“搜索分析器”
Ps:对于任何答案,如果您可以将我指向答案所依据的 ES 官方文档,我将非常感激。
elasticsearch - 如何匹配多个术语查询中的一个?
假设我有一种查询语言,可以将“自然”语言查询解析为弹性搜索查询。
假设我们有以下查询:
如何在弹性搜索中实现这一点?
我试过:
但这不是我想要的。
我究竟做错了什么?
映射:
elasticsearch - 在 Elasticsearch 中搜索短语时应用不同的提升值?
我想在 Elasticsearch 中搜索一个短语,例如“个人纳税日期”。我希望返回的结果更加重视“税”这个词。
到目前为止,我知道如何提升整个索引或提升不同字段,但仍然不知道如何提升不同的术语?有什么帮助吗??
elasticsearch - 术语与术语查询的评分不同
我正在通过过滤和使用term
查询来应用分数来检索文档。查询应匹配具有指定颜色的所有动物 - 匹配的颜色越多,文档的分数越高。奇怪的是,term
查询terms
导致不同的评分。
应该和使用一样
查询编号 无论 1 个或 2 个术语是否匹配,1 给我的文档得分完全相同。如果匹配更多颜色,后者当然会返回更高的分数。
如协调因子所述,如果匹配更多术语,则返回的分数应该更高。因此这两个查询应该得到相同的分数 - 或者是因为term
查询不分析搜索词?
我的字段被索引为文本。字符串被索引为字符串的“数组”,例如"brown","darkbrown"
elasticsearch - 为什么 elasticsearch 计算术语查询的分数?
我想基于使用术语查询了解唯一字段值来进行简单查询。例如:
关于term queries
,Elasticsearch 文档指出:
返回在提供的字段中包含确切术语的文档。您可以使用术语查询根据价格、产品 ID 或用户名等精确值查找文档。
另一方面,文档还建议_score
计算相关性很重要的查询(而不是涉及精确匹配的过滤器上下文的情况)。
我觉得有点混乱。为什么 Elasticsearch 会计算_score
应该关注精确匹配而不是相关性的术语查询?
elasticsearch - 如何在 elasticseacrh 中用户查询应该和 must_not
我有这样的弹性数据
我想检索具有多个条件的数据,所以我使用带有 should 和 must_not 的查询,当我使用该查询时,数组返回空,但现在数据仍然出现,是否缺少某些内容?
这是我的示例查询
match - NEST 未返回精确搜索的值
我正在尝试使用 NEST 构建动态查询,如下所示
如果我通过product value = "GoldPGL"
[NB~ 索引中的实际值],我将无法找到结果。
但是,如果我以“goldpgl”之类的小写形式传递值,它就可以工作。
此外,它不适用于“Gold - PGL”或“某些其他贷款”等值。
我的 POCO 如下
有什么问题以及如何纠正这个问题?
elasticsearch - 查询生成器未在 Elastic Search JAVA 高级重置客户端中找到匹配项
我编写了查询 Elastic Search 索引的 JAVA 代码(由 Elastic Cloud 提供服务——尽管我认为这与这个问题无关)。
如果没有查询词,该函数会按预期返回索引中的所有文档。
当我使用 Elastic 的 QueryBuilder 语法(这是 Elastic 的 Java 高级 REST 客户端的一部分)添加搜索查询时,找不到匹配项。
即使 query = "RICARDO" 并且我确实在此索引中有一个文档,其 firstname 字段中的值为 "ricardo",hits 也是空的。大小写无关紧要......将查询设置为“ricardo”也不会带回任何匹配项。
为什么是这样?
这是我实现高级 REST 客户端库的问题,因为查询在 POSTMAN 中按预期工作......
确实回来了……
elasticsearch - ElasticSearch 仅检索与单个文档中的术语匹配的列表元素
鉴于此文档结构。
这个查询
有没有办法弹性可以给我这样的结果:
因此,如果我有数百页,我只会得到与我的术语相匹配的那些?
我虽然想为页面创建索引,但是如何从文档中获取所有元数据?可以说,是否应该将此元数据复制到同一“书”的所有页面文档中?就性能而言,最好的方法是什么?