sách gpt4 ai đã đi

elasticsearch - Elasticsearch 中的过滤方面

In lại 作者:行者123 更新时间:2023-12-04 06:19:11 28 4
mua khóa gpt4 Nike

我有如下查询,

    query = {

"query": {"query_string": {"query": "%s" % q}},
"filter":{"ids":{"values":list(ids)}},
"facets": {"destination": {
"terms": {"field": "destination.en"}},
"hotel_class":{
"terms":{"field":"hotel_class"}},
"hotel_type":{
"terms":{"field": "hotel_type"}},
}}

但是由于我的 ids 过滤器,我的方面没有被过滤。我得到了所有方面,但我希望它们通过上面的 ids 过滤器进行过滤。你有什么想法吗?

1 Câu trả lời

虽然您所做的工作有效,但更简洁的解决方案是使用过滤查询。 http://www.elasticsearch.org/guide/reference/query-dsl/filtered-query/

这允许您的原始查询 + 一些任意过滤器(这又可以是复杂的 bool /嵌套过滤器等)

  {
query: {
"filtered" : {
"query": {"query_string": {"query": "%s" % q}},
"filter":{"ids":{"values":list(ids)}},
}
},
"facets": {
"destination": {
"terms": {"field": "destination.en"}
},
"hotel_class": {
"terms": {"field": "hotel_class"}
},
"hotel_type": {
"terms": {"field": "hotel_type"}
}
}
}

理由如下:

  • 任何查询都在分面之前应用。
  • 在分面之后应用任何过滤器。

因此,如果您希望某个过滤器过滤您的方面,则必须在 QUERY 中包含所述过滤器。

关于elasticsearch - Elasticsearch 中的过滤方面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16231727/

28 4 0
Bài viết được đề xuất: ruby-on-rails - 使用 Paperclip 和 Rails 时谷歌云存储请求很慢
Bài viết được đề xuất: ruby-on-rails - 通过项目学习 Rails 3 的资源
Bài viết được đề xuất: unix - 永恒颜色 : Unknown terminal type
Bài viết được đề xuất: ruby-on-rails - Rails - 属于、拥有很多
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com