У меня есть этот код 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
, который я написал выше.