поиск с помощьюasticsearch js с несколькими полями - PullRequest
1 голос
/ 23 сентября 2019

Привет, ребята, у меня есть этот код:

let test = await client.search({
      index: 'test',
      type: 'doc',
      body: {
        query: {
          match: {
            title: 'something',
          }
        }
      }
    });

этот код ищет по 1 запросу, который является заголовком: 'что-то', но я хочу изменить его для поиска по нескольким ключам, например:

 let test = await client.search({
          index: 'test',
          type: 'doc',
          body: {
            query: {
              match: {
                title: 'something',
                desc: 'some Qualifications'
              }
            }
          }
        });

но этот код не работает, и я не могу найти ничего, что будет работать так, кто-нибудь может помочь?

1 Ответ

3 голосов
/ 23 сентября 2019

Вам нужно объединить все запросы match, используя запрос bool/must, например:

 let test = await client.search({
      index: 'test',
      type: 'doc',
      body: {
        query: {
          bool: {
            must: [
              {
                match: {
                  title: 'something',
                }
              },
              {
                match: {
                  desc: 'some Qualifications',
                }
              }
            ]
          }
        }
      }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...