使用pyes配置tokenizer

时间:2012-05-01 06:32:03

标签: python elasticsearch pyes

我正在尝试配置我的一个字段以使用边缘ngram标记器。我正试图翻译我发现的以下要点(https://gist.github.com/1037563):

{
    "mappings": {
        "contact": {
            "properties": {
                "twitter": {
                    "type": "object",
                    "properties": {
                        "profile": {
                            "fields": {
                                "profile": {
                                    "type": "string",
                                    "analyzer": "left"
                                },
                                "reverse_profile": {
                                    "type": "string",
                                    "analyzer": "right"
                                }
                            },
                            "type": "multi_field"
                        }
                    }
                }
            }
        }
    },
    "settings": {
        "analysis": {
            "analyzer": {
                "left": {
                    "filter": [
                        "standard",
                        "lowercase",
                        "stop"
                    ],
                    "type": "custom",
                    "tokenizer": "left_tokenizer"
                },
                "right": {
                    "filter": [
                        "standard",
                        "lowercase",
                        "stop"
                    ],
                    "type": "custom",
                    "tokenizer": "right_tokenizer"
                }
            },
            "tokenizer": {
                "left_tokenizer": {
                    "side": "front",
                    "max_gram": 20,
                    "type": "edgeNGram"
                },
                "right_tokenizer": {
                    "side": "back",
                    "max_gram": 20,
                    "type": "edgeNGram"
                }
            }
        }
    }
}

我可以看到pyes支持'put_mapping'API,但这似乎将所有内容都包含在'映射'中。我需要能够在“设置”键下传递分析仪,并且无法确定如何使用。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

您应该能够将此结构作为create_index的第二个参数传递。