[英]Elasticsearch match field=value (not contains)
我在搜索 elasticsearch 时遇到问题。 我有带有字段title
和gender
的索引product
当我使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.