假设我有用户输入的以下查询字符串 - “深蓝色鞋子和水洗”
product_description
基本上我想在ORproduct_title
字段中搜索“深蓝色鞋子”和“水洗” 。
“深蓝色鞋子或可水洗”也是如此,因此不要使用“和”运算符,而是使用“或”运算符。
是否可以使用“和/或”运算符向 Elasticsearch 提供多个短语
如果这很重要,我正在使用 v7.1。
假设我有用户输入的以下查询字符串 - “深蓝色鞋子和水洗”
product_description
基本上我想在ORproduct_title
字段中搜索“深蓝色鞋子”和“水洗” 。
“深蓝色鞋子或可水洗”也是如此,因此不要使用“和”运算符,而是使用“或”运算符。
是否可以使用“和/或”运算符向 Elasticsearch 提供多个短语
如果这很重要,我正在使用 v7.1。
您可以在文本本身中使用Query_string和传递运算符
数据:
{
"_index" : "index72",
"_type" : "_doc",
"_id" : "p7_JqHABcSMy6UhGDmtS",
"_score" : 1.0,
"_source" : {
"product_description" : "dark blue shoes water washable"
}
},
{
"_index" : "index72",
"_type" : "_doc",
"_id" : "qL_JqHABcSMy6UhGbWsn",
"_score" : 1.0,
"_source" : {
"product_description" : "dark blue"
}
}
询问:
{
"query": {
"query_string" : {
"fields" : ["product_description", "product_title"],
"query" : "dark blue shoes AND water washable"
}
}
}
结果:
{
"_index" : "index72",
"_type" : "_doc",
"_id" : "p7_JqHABcSMy6UhGDmtS",
"_score" : 2.0794973,
"_source" : {
"product_description" : "dark blue shoes water washable"
}
}