自定义停用词分析器无法正常工作
Custom stopword analyzer is not woring properly
我已经使用自定义停用词分析器创建了一个索引。我希望弹性搜索在搜索时忽略这些词。然后我在elasticsearch映射中添加了一份文档数据。
但是当我在 kibana 中查询 "the" 关键字时。它不应该显示任何成功的匹配,因为在 my_analzer 中我将 "the" 放在 my_stop_word 部分。但它正在显示比赛。我研究过,如果你在映射字段中建立索引时提到一个分析器。然后在查询时默认使用该分析器。
请帮助!
PUT /pandey
{
"settings":
{
"analysis":
{
"analyzer":
{
"my_analyzer":
{
"tokenizer": "standard",
"filter": [
"my_stemmer",
"english_stop",
"my_stop_word",
"lowercase"
]
}
},
"filter": {
"my_stemmer": {
"type": "stemmer",
"name": "english"
},
"english_stop":{
"type": "stop",
"stopwords": "_english_"
},
"my_stop_word": {
"type": "stop",
"stopwords": ["robot", "love", "affection", "play", "the"]
}
}
}
},
"mappings": {
"properties": {
"dialog": {
"type": "text",
"analyzer": "my_analyzer"
}
}
}
}
PUT pandey/_doc/1
{
"dailog" : "the boy is a robot. he is in love. i play cricket"
}
GET pandey/_search
{
"query": {
"match": {
"dailog": "the"
}
}
}
一个小的拼写错误就可能导致这种情况。
您为 dialog
定义了映射,但添加了字段名称为 dailog
的文档。 elastic 的动态字段映射行为将毫无错误地对其进行索引。不过我们可以禁用它。
所以查询,"dailog": "the"
将使用默认分析器得到结果。
我已经使用自定义停用词分析器创建了一个索引。我希望弹性搜索在搜索时忽略这些词。然后我在elasticsearch映射中添加了一份文档数据。 但是当我在 kibana 中查询 "the" 关键字时。它不应该显示任何成功的匹配,因为在 my_analzer 中我将 "the" 放在 my_stop_word 部分。但它正在显示比赛。我研究过,如果你在映射字段中建立索引时提到一个分析器。然后在查询时默认使用该分析器。 请帮助!
PUT /pandey
{
"settings":
{
"analysis":
{
"analyzer":
{
"my_analyzer":
{
"tokenizer": "standard",
"filter": [
"my_stemmer",
"english_stop",
"my_stop_word",
"lowercase"
]
}
},
"filter": {
"my_stemmer": {
"type": "stemmer",
"name": "english"
},
"english_stop":{
"type": "stop",
"stopwords": "_english_"
},
"my_stop_word": {
"type": "stop",
"stopwords": ["robot", "love", "affection", "play", "the"]
}
}
}
},
"mappings": {
"properties": {
"dialog": {
"type": "text",
"analyzer": "my_analyzer"
}
}
}
}
PUT pandey/_doc/1
{
"dailog" : "the boy is a robot. he is in love. i play cricket"
}
GET pandey/_search
{
"query": {
"match": {
"dailog": "the"
}
}
}
一个小的拼写错误就可能导致这种情况。
您为 dialog
定义了映射,但添加了字段名称为 dailog
的文档。 elastic 的动态字段映射行为将毫无错误地对其进行索引。不过我们可以禁用它。
所以查询,"dailog": "the"
将使用默认分析器得到结果。