ruby-on-rails - 具有Elasticsearch授权的过滤搜索

标签 ruby-on-rails elasticsearch

我试图进行搜索,同时在client_id字段中筛选特定客户端,同时在任何字段中查找“测试”。似乎无法弄清楚这一点。这就是我胖的方式(但它不起作用):

         {
              query: {
                  filtered: {
                      query: "test",
                      filter: {
                          term: {client_id: @client.id}
                      }
                  }
              }
          }

最佳答案

这是正确的语法

{
 "query": {
   "filtered": {
     "query": {
       "match": {
         "_all": "test"
       }
     },
     "filter": {
       "term": {
         "client_id": @client.id
       }
     }
   }
 }
}

从ES Docs: _all 字段使您可以搜索文档中的值,而无需知道哪个字段包含值

关于ruby-on-rails - 具有Elasticsearch授权的过滤搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33640170/

相关文章:

ruby-on-rails - Googlebot 在 Rails 4.1 上导致无效的跨域请求 (COR)

javascript - 未捕获类型错误 : Cannot read property 'push' of undefined

ruby-on-rails - Ruby on Rails 应用程序中的 Favicon

elasticsearch - 场长会影响 Elasticsearch 性能吗?

elasticsearch - 带有 "&"的同义词过滤器在 elasticsearch 中不起作用,建议使用标准分词器

ruby-on-rails - 在 Ruby on Rails 中分享

ruby-on-rails - 无法通过另一个模型访问强参数。 rails 4

elasticsearch - 更改索引名称后出现以下异常

amazon-web-services - 连接到AWS Elasticsearch以重新启动吗?

elasticsearch - Elasticsearch在查询中使用别名时查找哪些索引包含命中