elasticsearch - Elasticsearch通配符查询忽略了一些单词
问题描述
通配符查询“beurr*”似乎忽略了“beurre”一词。
例如,我有一个名为“beurre de cacahuète”的数据。
正常查询会找到以下数据:
{
"query": {
"query_string" : {
"query" : "beurre",
}
}
}
对另一个词的通配符查询也是如此:
{
"query": {
"wildcard" : {
"name" : "cacahuet*"
}
}
}
但是这个通配符查询找不到匹配项:
{
"query": {
"wildcard" : {
"name" : "beur*"
}
}
}
我有很多应该匹配的数据,并且绝对找不到这种行为的原因......
解决方案
该问题是由使用“light_french”词干分析器引起的。删除它解决了这个问题。
推荐阅读
- java - Spring Security 异常处理 - 如果页面重定向到登录,如果休息 api 则发送带有错误的 json
- wordpress - 如何在wordpress woocommerce上双重计算产品?
- c++ - 将依赖项编译成库本身
- python - 使用拟合 pmdarima ARIMA 模型进行预测
- java - 指定的 minCompileSdk (31)
- windows - make (e=2): 系统找不到指定的文件
- r - 如何将 testthat 测试应用于我的包中与特定命名模式匹配的所有函数?
- javascript - 有什么方法可以在 HTML 元素上执行键盘输入?
- visual-studio-code - 为什么“clang-format”扩展名不能格式化我的 .sp 文件?
- c# - 通过 Windows 服务调用时,Oracle 查询执行需要时间