Я бы предложил создать два разных поля question_tag
и question_content
, а не усложнять ситуацию, сохраняя все в одном файле.
Таким образом, ваше отображение будет выглядеть примерно так:
PUT myindex
{
"mappings": {
"_doc": {
"properties": {
"question_tag": {
"type": "keyword"
},
"question_content": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
}
}
}
}
}
Вы можете индексировать свои документы.Например:
PUT myindex/_doc/1
{
"question_tag": "elastic search",
"question_content": "This is my first question about elastic search on stackoverflow"
}
PUT myindex/_doc/1
{
"question_tag": "elastic search",
"question_content": "This is my first question about Java on stackoverflow"
}
Затем вы можете использовать запрос match_phrase
, чтобы получить документы, содержащие определенную фразу.
GET myindex/_search
{
"query": {
"match_phrase" : {
"question_content" : "elastic search"
}
}
}
Подробнее о совпадение фразы .