问题标签 [elasticsearch-percolate]
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.
c# - 当每个索引只能进行一个映射时,将渗透器存储在单独的索引中?
我SearchAgent
在一个名为的索引中有一个文档,searchagent
如下所示:
这是因为我希望我的用户创建“搜索代理”,以便在插入特定搜索的新文档时通知用户。
现在,我要为其查找相关搜索代理的文档位于items
索引中,并且是Item
. 它如下所示:
这似乎也是文档建议的内容:
考虑到渗透的设计,对于渗透查询和被渗透的文档使用单独的索引通常是有意义的,而不是单个索引......
但是,我现在无法索引我的搜索代理文档,因为它们Query
引用了Item
文档上的属性。这会导致以下错误:
找不到名称为 [title] 的字段的字段映射
我想这意味着我都必须在索引中描述Item
和 SearchAgent
映射。searchagent
但是在 Elasticsearch 6 中,他们取消了对每个索引的多个映射的支持,因此这是不可能的。
我怎样才能解决这个问题?
elasticsearch - 具有弹性搜索渗透的复杂查询
我有一个 PostgreSQL 数据库,其中包含从网络上解析的新闻文章。解析器每小时运行一次,收集新的新闻并将它们存储在数据库中。该应用程序的用户可以将某些关键字添加到他们的个人资料中,这样如果发现包含该关键字的新新闻项目,他们就会收到通知。目前我正在为此使用 SQL 查询,所以每当我收到一篇新的新闻文章时,我都会尝试将其与用户添加的所有关键字进行匹配,然后发出通知,但这需要很多时间。所以我正在考虑整合 Elasticsearch。我遇到了percolation query,但我找不到一个好的文档,所以不确定我是否能够用它创建复杂的查询。搜索需要考虑以下几点:
- 用户可以添加关键字AND、OR、NOT,我们需要分别“搜索所有”、“任何一个”、“不包含”。例如,用户可以给出诸如“比特币”和“加密货币”之类的关键字而不是“采矿”,那么在这种情况下,这个搜索查询应该只匹配包含“比特币”和“加密货币”字样的新闻文章,并且不应该包含“采矿”字样。关键字可以在文章标题或文章正文中的任何位置
- 词干。因此,如果用户关键字包含“raining”并且文章包含单词“rain”,那么渗透搜索仍应返回该关键字的 id
- 用户还可以提供作者作为关键字,在这种情况下,我们需要返回由该作者撰写的文章
elasticsearch - 对渗透查询及其文档使用单独的索引有多重要?
关于 Percolate 查询的 ElasticSearch 文档建议对查询和被过滤的文档使用单独的索引:
考虑到渗透的设计,对于渗透查询和被渗透的文档使用单独的索引通常是有意义的,而不是像我们在示例中所做的那样使用单个索引。这种方法有几个好处:
因为渗透查询包含与渗透文档不同的字段集,所以使用两个单独的索引允许以更密集、更有效的方式存储字段。
渗透查询的扩展方式与其他查询不同,因此渗透性能可能会受益于使用不同的索引配置,例如主分片的数量。
在页面底部:
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-percolate-query.html
我在理论上理解这一点,但我想更多地了解这对于大型索引(例如,100 万个注册查询)的必要性。
在我的情况下,权衡是为文档创建单独的索引需要维护相当多的额外工作,主要是因为两个索引都需要保持“同步”。如果没有交易,这很难保证,所以我想知道我需要的规模是否值得。
一般来说,我对有关索引/映射设计的任何建议感兴趣,以便可以有效地查询它。谢谢!
python - Elasticsearch Percolate 查询未命中
我试图从使用 python 运行的 Elastic 7.3 Percolate Documentation 中获取示例,但我的文档没有遇到任何查询。这是查看示例页面的链接:https ://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-percolate-query.html
我使用了 python pip 包 elasticsearch。我的结果是:
索引包含一个文档(渗透查询): curl -X GET "localhost:9200/inverse-index/_search"
提前感谢您(请参阅下面的代码)
日志信息:
示例页面的代码可以很好地与 bash curl 命令配合使用。问题可能出在 python 站点上。
java - elasticsearch渗透java api示例
需要使用 elasticsearch java rest API 的 elasticsearch percolate 示例
在弹性搜索文档中找不到
在以前版本的弹性下面是传输客户端的代码,不确定哪个用于休息客户端
elasticsearch - 如何渗透 simple_query_string/query_string 查询
指数:
此测试过滤器查询有效
此查询不起作用
结果:
为什么这个 simple_query_string 查询与文档不匹配?
elasticsearch - 如何在 Elasticsearch 中查找包含给定点的多边形
我需要在具有大约 50k 地形多边形(存储为 ES 上的 geo_shape 多边形)的数据库上构建一个查询,我在其中给出一个点,它返回包含该点的每个多边形。
我设法使用渗透查询(下面的示例)来做到这一点,但我在某处读到渗透查询不能很好地扩展。
有没有更有效的方法来实现这种行为?
使用渗滤液的示例:
java - 在 percolate 查询中不推荐使用类型,但 PercolateQueryBuilder 类仍然需要该类型
每次我的应用程序发生渗透时,我都会收到警告消息。我正在使用 7.4.0 版本的 elasticsearch 和 percolate 客户端。Elasticsearch 也是 7.4.0 版本。我知道类型在第 7 版中已弃用,但PercolateQueryBuilder
类仍然需要indexedDocumentType
. 我检查了其他构造函数,但它没有提供构造函数来构建没有类型的渗透查询。
警告信息:
request [POST http://localhost:9200/saved_searches/_search?typed_keys=true&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true&ignore_throttled=true&scroll=1m&search_type=query_then_fetch&batched_reduce_size=512&ccs_minimize_roundtrips=true] returned 1 warnings: [299 Elasticsearch-7.4.0-22e1767283e61a198cb4db791ea66e3f11ab9910 "[ types remove] [percolate] 查询中不推荐使用类型。不应再指定索引文档的 [type]。"]
运行渗透作业的代码。
我找不到我做错了什么。
elasticsearch - 如果字段类型为“ip”,则过滤查询结果中缺少 Elasticsearch 突出显示字段
使用弹性搜索6.2.4
我有一个简单的过滤器索引设置,有 2 个字段ip_address
和title
. ip_address
有类型ip
,title
有类型text
。
渗滤器映射
向具有 CIDR 范围的索引添加了渗透查询
_search
向索引发出请求
得到一个命中原始渗透查询的结果。
但是,没有任何亮点回来。如果我使用title
属性对其进行测试并将其与文本匹配,则突出显示会回来。
用于突出显示的 ip 类型是否存在问题?
spring-boot - 春季数据弹性搜索中等效的 PercolateQueryBuilder 是什么?
底线- 如何将我的简单过滤器查询转换为弹簧数据弹性搜索?任何线索表示赞赏。谢谢
我一直在尝试使用弹簧数据弹性搜索编写以下渗透查询
我试过了
试过了
还尝试了 NativeSearchQuery,但都没有奏效。
我看到https://tothepoint.group/matching-documents-with-elasticsearch-percolator-query/作者使用 PercolateQueryBuilder (https://github.com/ophalsp/elasticsearch-percolator),但我没有在 spring 数据中看到 PercolateQueryBuilder弹性搜索。
编辑:- 我尝试了所有实现 QueryBuilder 的构建器。由于它们都没有在 XContentBuilder 构建器中查询或渗透(如下所示),因此它们不起作用
我还可以看到 PercolateQueryBuilder 是 percolator-client 的一部分,它是 org.elasticsearch.client.transport 的一部分,它在 spring-boot 中被排除在外
我将添加 org.elasticsearch.client.transport 并试一试。