Elasticsearch:带状疱疹不使用奇数。搜索词

时间:2017-02-23 12:15:32

标签: elasticsearch

尝试搜索奇数时没有。使用我的木瓦分析仪的单词没有显示结果。

' 新德里abcd '不会返回任何结果,但新德里abcd xyz '返回

我的分析仪如下所示

{
    "search": {
        "settings": {
            "index": {
                "analysis": {
                    "filter": {
                        "my_shingle_filter": {
                            "max_shingle_size": "2",
                            "min_shingle_size": "2",
                            "output_unigrams": "false",
                            "type": "shingle"
                        },
                        "autocomplete_filter": {
                            "type": "edge_ngram",
                            "min_gram": "1",
                            "max_gram": "40"
                        }
                    },
                    "analyzer": {
                        "my_shingle_analyzer": {
                            "filter": [
                                "lowercase",
                                "my_shingle_filter"
                            ],
                            "type": "custom",
                            "tokenizer": "whitespace"
                        },
                        "shingle_with_autocomplete": {
                            "filter": [
                                "lowercase",
                                "my_shingle_filter",
                                "autocomplete_filter"
                            ],
                            "type": "custom",
                            "tokenizer": "whitespace"
                        }
                    }
                }
            }
        }
    }
}

该类型的映射在

下面共享
{
    "search": {
        "mappings": {
            "address": {
                "properties": {
                    "full_address": {
                        "type": "text",
                        "norms": false,
                        "fields": {
                            "edge_n_grams": {
                                "type": "text",
                                "norms": false,
                                "analyzer": "autocomplete"
                            },
                            "shingles": {
                                "type": "text",
                                "norms": false,
                                "analyzer": "shingle_with_autocomplete"
                            },
                            "synonym": {
                                "type": "text",
                                "norms": false,
                                "analyzer": "synonym_autocomplete"
                            }
                        },
                        "analyzer": "whitespace"
                    }
                }
            }
        }
    }
}

查询1

GET search/address/_search?_source=full_address
{
    "query": {
        "match": {
            "full_address.shingles": {
                "query": "new delhi",
                "analyzer": "my_shingle_analyzer"
            }
        }
    }
}

结果

{
    ...
    "hits": {
        "total": 21801,
        "max_score": 8.015874,
        "hits": [{
                "_index": "search",
                "_type": "address",
                "_id": "581c50297fd84ecc35420570",
                "_score": 8.015874,
                "_source": {
                    "full_address": "new delhi nagar palika adarsh vidyalay new delhi nagar palika adarsh vidyalay tilak lane tilak marg area new delhi delhi 110001"
                }
            }, {
                "_index": "search",
                "_type": "address",
                "_id": "581c502a7fd84ecc35422010",
                "_score": 7.013889,
                "_source": {
                    "full_address": "kingdom hall of jehovant witness gyan bharti public school saket new delhi new delhi delhi 110017"
                }
            },
            ...
        ]
    }
}

查询2

GET search/address/_search?_source=full_address
{
    "query": {
        "match": {
            "full_address.shingles": {
                "query": "new delhi nag",
                "analyzer": "my_shingle_analyzer"
            }
        }
    }
}

结果

{
  ...,
  "hits": {
    "total": 0,
    "max_score": null,
    "hits": []
  }
}

' 新德里nagar pal '返回正确的结果。

任何帮助/见解都将不胜感激

1 个答案:

答案 0 :(得分:2)

这是ES 5.2.x中的bug。问题在于新版本中的单个过滤器