我有一个分析器可以将 IBM 转换如下: 1: ibm[0, 5] 1: i[0, 1] 2: b[2, 3] 3: m[4, 5] 3: ibm[0, 5 ]。因此,IBM 被索引为 ibm、ibm 和 ibm。
我的理解是查询搜索也会被分析。我的问题是当搜索词是 IBM 时预期的行为是什么?我期待 Elastic Search 能找到 IBM 和 IBM 等文档,但它没有找到后者。我的期望是搜索 IBM 将等同于搜索 ibm OR ibm OR ib m。那是因为这些标记是由分析器添加的。如果搜索词是 IBM,则找到两个文档,这意味着分析器在索引时按预期工作。但是添加令牌的分析器在搜索时的预期行为是什么?
这是具体的调用:
POST http://hostl.com:9200/entities/_search?pretty=true HTTP/1.1 接受:application/json 内容类型:application/json 主机:kodkods:9200 内容长度:218 预期:100-继续
{
"size": 500,
"query": {
"query_string": {
"query": "I.B.M.",
"default_field": "contents",
"default_operator": "and",
"analyzer": "analyzer_text_english"
}
}
}
先感谢您。