- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的Elasticsearch服务器上有10多个索引。
每个索引具有一个或多个具有不同类型的分析器的字段:关键字,标准,ngram等。
对于全局搜索,我使用的是multi_match
,但未指定任何显式的fields
。
为了查询,我使用elasticsearch-dsl
库,代码如下:
def search_for_index(indice, term, num_of_result=10):
s = Search(index=indice).sort({"_score": "desc"})
s = s[:num_of_result]
s = s.query('multi_match', query=term, operator='and')
response = s.execute()
return response.to_dict()['hits']['hits']
maxClauseCount
错误。
term
等于:时,会引发错误的搜索:
term=We are working on your request and will keep you posted at the earliest.
最佳答案
首先-由于原因而存在此限制。您拥有的 bool(boolean) 子句越多-搜索就越重。将其视为每个子句的文档ID的交叉(AND)或联接(OR)子集。这是非常繁重的操作,这就是为什么最初限制为1024个子句的原因。
一般建议是尝试减少要搜索的字段数。也许您的字段不包含文本数据或仅包含一些内部ID。您可以在multi_match查询期间通过显式指定字段部分将它们划掉。
如果您仍然决定采用当前方法,而您正在使用 Elasticsearch 5.5+ 及更高版本,则可以通过在elasticsearch.yml中添加以下行并重新启动实例来更改它们。
indices.query.bool.max_clause_count: 250000
index.query.bool.max_clause_count
关于elasticsearch - 使用multi_match查询时如何克服maxClauseCount错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54127388/
我有一个小问题,我开始使用Elasticsearch,并在使用curl脚本测试时遇到了这个问题。 curl -XGET 'localhost:9200/fcomputer/products/_sear
我试图重建我的 flex 搜索查询,因为我发现没有收到要查找的所有文档。 因此,假设我有这样的文档: { "id": 1234, "mail_id": 5, "sender": "john
我的记录可以对单个文本字段进行多种翻译,例如: { "type": "movie", "title": { "en": "Dark Knight", "de": "Der du
谁能告诉我这两者的区别 "query": { "bool": { "should": [ { "match": {"title": keyword} }
所以我们得到了一个 elasticsearch 实例,但是一个工作需要“组合搜索”(一个搜索字段,带有针对特定索引的 types 的复选框) 这很好,我只是将这种搜索应用于我的索引(为简洁起见:/po
我有一个具有名称和姓氏属性的用户对象。我想使用一个查询来搜索这些字段,并且在文档中找到了 multi_match,但我不知道如何将其与通配符一起正确使用。是否可以? 我尝试使用 multi_match
我有以下功能可以在 elasticsearch 中搜索结果。 我想用 PHP 和 Guzzle 执行以下请求。 /** * {@inheritdoc} */ public func
我在向嵌入在function_score内的现有多重匹配查询中添加过滤器时遇到问题。 理想情况下,我想按"term" : { "lang" : "en" }进行过滤,只获取英语版本的文档。 我尝试移动
我在 Elasticsearch 中使用以下 multi_match 查询,我想知道我是否可以仅对“friendly_name 字段”使用模糊性。我尝试过不同的东西,但似乎没有用。我还想知道是否有可能
我在简单的匹配查询中使用了 ES 的高亮显示: GET /_search { "query": { "match": { "Text": "key words he
如何为 multi_match 查询添加模糊性?因此,如果有人要搜索“basball”,它仍然会找到“baseball”文章。目前我的查询是这样的: POST /newspaper/articles/
在ElasticSearch 7.x中,我使用具有synonym filter的分析器为数据字段建立了索引。 但是,为了支持增强与数据字段中与同义词匹配的查询词“完全”匹配数据字段中的查询词的查询,我
我想使用ElasticSearch搜索我的产品集合。 如果我有这样的对象: { name: "Product Name", producer: "Best Producer"} 我想通过搜索找到该对象
我正在尝试在 ElasticSearch 中编写一个查询,在其中我将 multi_match 与过滤器结合起来用于 id 或数字 og id。 这是我目前所拥有的: { "query": {
我有一个包含条目的数据库 title: This is my awesome title abstract: A more detailed descriptions of what [...] 我想
我尝试学习 Elasticsearch 以将其添加到我的 Rails 应用程序中。我想对 2 个字段执行 multi_match 查询(就好像它们只是一个字段一样),并且还有一个必须等于 1 的另
我在 Elasticsearch 中使用 multi_match 查询: { "query": { "multi_match": { "query": "luk",
我有一个类型为 cross_fields 的 multi_match 查询,我想通过前缀匹配对其进行改进。 { "index": "companies", "size": 25, "fro
运行此查询时: { "query_string" : { "query" : "text", "fields": ["field1", "field2"] } } - {
示例查询: { "from": 0, "query": { "filtered": { "query": { "
我是一名优秀的程序员,十分优秀!