Как мне сопоставить индекс, созданный fscrawler, чтобы я мог выполнять точный полнотекстовый поиск в документе?

У меня есть индекс двоичных файлов, созданных fscrawler(имеет сопоставление по умолчанию).

Я запрашиваю свой индекс с помощью php-elasticsearch:

if ($q2 == '') {
  $params = [
    'index' => 'trial2',
    'body' => [
       'query' => [
        'term' => [
          'content' => $q
              ]
        ]
    ]
];

$query = $client->search($params);
$data['q'] = $q;
}

Я пытаюсь выполнить точный полнотекстовый поиск в поле содержимого (теле). как мне это сделать?

1 ответ

Вероятно, вам нужно изменить сопоставление по умолчанию и использовать keyword тип данных для contentполе. При этом он больше не позволит искать отдельные термины.

Вы действительно этого хотите?

Может быть, то, что вам нужно, на самом деле использует match запрос вместо term запрос?

Другие вопросы по тегам