0

我创建了一个具有以下映射的索引

    PUT http://localhost:9200/test1
   {
    "mappings": {
        "searchText": {
            "properties": {
                "catalogue_product": {
                    "type":"nested",
                    "properties": {
                        "id": {
                            "type": "string",
                             "index":"not_analyzed"
                        },
                        "long_desc": {
                            "type":"nested",
                            "properties": {
                                "translation": {
                                    "type":"nested",
                                    "properties": {
                                        "en-GB": {
                                            "type": "string",
                                            "anlayzer": "snowball"
                                        },
                                        "fr-FR": {
                                            "type": "string",
                                            "anlayzer": "snowball"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

我已经使用了一张记录

PUT http://localhost:9200/test1/searchText/1
{
    "catalogue_product": {
        "id": "18437",
        "long_desc": {
            "translation": {
                "en-GB": "C120 - circuit breaker - C120H - 4P - 125A - B curve",
                "fr-FR": "Disjoncteur C120H 4P 125A courbe B 15000A"
            }
        }
    }

}

然后,如果我搜索这个词

断路器

里面

catalogue_product.long_desc.translation.en-GB

我得到了添加的记录

POST http://localhost:9200/test1/searchText/_search
{
    "query": {
        "nested": {
            "path": "catalogue_product.long_desc.translation",
            "query": {
                "match": {
                    "catalogue_product.long_desc.translation.en-GB": "breaker"
                }
            }
        }
    }

}

如果替换单词

断路器

断路器

,尽管 en-GB 字段在映射中有analyzer=snowball,但我没有得到任何记录


POST http://localhost:9200/test1/searchText/_search
{
    "query": {
        "nested": {
            "path": "catalogue_product.long_desc.translation",
            "query": {
                "match": {
                    "catalogue_product.long_desc.translation.en-GB": "breakers"
                }
            }
        }
    }

}

我要疯了。我哪里错了?我尝试使用分析器作为英语而不是雪球的新映射,但这也不起作用:(感谢任何帮助

4

1 回答 1

1

老哥,打错字了 它的分析器而不是分析器

   PUT http://localhost:9200/test1
   {
    "mappings": {
        "searchText": {
            "properties": {
                "catalogue_product": {
                    "type":"nested",
                    "properties": {
                        "id": {
                            "type": "string",
                             "index":"not_analyzed"
                        },
                        "long_desc": {
                            "type":"nested",
                            "properties": {
                                "translation": {
                                    "type":"nested",
                                    "properties": {
                                        "en-GB": {
                                            "type": "string",
                                            "analyzer": "snowball"
                                        },
                                        "fr-FR": {
                                            "type": "string",
                                            "analyzer": "snowball"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
于 2015-02-20T16:13:52.843 回答