Elastic Search: сопоставить поле с определенного места - PullRequest
0 голосов
/ 26 декабря 2018

"question_tag: эластичный поиск
question_content: это мой первый вопрос об эластичном поиске в stackoverflow"

Выше приведен пример полясохранено в упругом поиске

Я хочу знать, существует ли фраза "упругый поиск" после слова "question_content" .Есть ли способ сделать это?

Например, выше , ответ должен быть да .

Например

"question_tag: эластичный поиск
question_content: это мой первый вопрос о Java на stackoverflow"

answerдолжно быть нет .

1 Ответ

0 голосов
/ 26 декабря 2018

Я бы предложил создать два разных поля 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"
      }
   }
}

Подробнее о совпадение фразы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...