Как указать стоп-слова в отображении Elasticsearch с использованием Python - PullRequest
0 голосов
/ 08 июня 2018

У меня есть этот код python, где я сначала создаю отображение Elasticsearch, а затем после вставки данных я выполняю поиск этих данных:

# Create Data mapping
data_mapping = {
        "mappings": {
            (doc_type): {
                "properties": {
                    "data_id": {
                        "type": "string",
                        "fields": {
                            "stemmed": {
                                "type": "string",
                                "analyzer": "english"
                            }
                        }
                    },
                    "data":{
                        "type": "array",
                        "fields": {
                            "stemmed": {
                                "type": "string",
                                "analyzer": "english"
                            }
                        }
                    },
                    "resp": {
                        "type": "string",
                        "fields": {
                            "stemmed": {
                                "type": "string",
                                "analyzer": "english"
                            }
                        }
                    },
                    "update": {
                        "type": "integer",
                        "fields": {
                            "stemmed": {
                                "type": "integer",
                                "analyzer": "english"
                            }
                        }
                    }

                }
            }
        }
    }
#Search
data_search = {
        "query": {
            "function_score": {
                "query": {

                    "match": {
                        'data': question
                    }
                },
                "field_value_factor": {
                    "field": "update",
                    "modifier": "log2p"
                }
            }
        }
        }
response = es.search(index=doc_type, body=data_search)

Теперь, что я не могу выяснить, гдеа как указать stopwords в вышеприведенном коде? Эта ссылка дает пример использования stopwords, но я не могу связать ее с моим кодом.Нужно ли указывать в разделе data mapping, в разделе поиска или в обоих?И как мне это указать?

Буду признателен за любую помощь в качестве примера!

ОБНОВЛЕНИЕ: На основании некоторых комментариев предлагается добавить либо раздел analysis, либо settings разделы, но я не уверен, как их добавить в раздел mapping, который я написал выше.

...