const searchParams = {
index: "products",
body: {
from: offset,
size: limit,
query: {
bool: {
must: {
term: {
name: `*${fullTextSearch}*`,
},
},
},
},
},
};
字符串
我有一个这样的searchParams,但是当name=“gold ring”时。它没有显示任何数据。但是如果name输入没有空格name =“gold”,它就工作了。
为什么elasticsearch可以搜索空间
1条答案
按热度按时间k4aesqcs1#
我的猜测是
name
是text
类型,因此它被分析为token。使用term
查询搜索不会分析输入文本,而是搜索可能没有name
字段包含的确切值gold ring
。但是,如果您将查询更改为使用
match
而不是term
,您应该会看到结果。您还应该删除前导和结尾通配符:字符串