ruby-on-rails - Elasticsearch 匹配字段=值(不包含)
问题描述
我在通过 elasticsearch 搜索时遇到问题。我有product
字段索引title
和gender
当我进行查询时,default_field: title
我只需要获得结果gender=male
(不是女性或其他人)
询问:dress AND gender:male
结果包含两种性别:male
和female
和male,female
在我看来,gender:*
搜索所有包含male
但不完全匹配的值。如何正确查询?
我通过 Ruby on Rails 使用它
Product.search({
query: {
query_string: {
query: query,
default_field: "title"
}
},
size: per_page,
sort: [ _score: { order: relevance } ]
})
解决方案
性别是一种keyword
数据类型吗?我怀疑您离开/设置了该gender
字段的默认映射(即文本+关键字子字段)。在这种情况下,请尝试以下查询:dress AND gender.keyword:male
推荐阅读
- html - 从 R 中的向量打印 HTML 样式列表
- amazon-web-services - 我正计划像 AWS 提供的那样设计和开发价格估算器(简单月度估算器)。任何建议
- jenkins - Jenkins:使用 emailext attachmentsPattern 在同一封电子邮件中附加多个文件
- html - Flexbox,卡片之间的空间和div外的文本
- ms-access - 带有 Sum 和额外条件的 msAccess 查询
- python-3.x - 字符数python 3
- javascript - 如何使用 vue-form-generator 创建嵌套字段集?
- sql - TSQL 中的内连接结果
- bash - 使用 bash/aliases grep 目录中的文件以进行删除的最有效方法
- kotlin - 如何根据某些条件返回集合中类型 T 的索引?