@Apostol63

Почему elasticsearch ищет только в одном поле?

Всем доброго времени суток
Я тут немного не понимаю, почему elasticsearch ищет только по одному field, а именно по title
Вот индексирование (индексирую файл .docx с помощь ingest-attachment):
$fullfile = __DIR__.'/prrr23.docx';
	    $params = [
	        'index' => 'factoryfiles',
	        'type'  => 'files',
	        'id'    => 'testId',
	        'pipeline' => 'filesNtd',
	        'body'  => [
	            'contentdocs' => base64_encode(file_get_contents($fullfile)),
	            'title' => 'Заголовок тестового документа',
	        ],
	    ];


	    $x = $this->obj->index($params);


А вот поиск

$query = [
		    'multi_match' => [
		        'query' => '*жирным*',
		        'fields' => ['title', 'contentdocs'],
		    ],
		];
        $searchParams = [
	        'index' => 'factoryfiles',
	        'type' => 'files',
	        'body' => [
	            'query' => $query
            ],
	    ];
	    $x = $this->obj->search($searchParams);


Т.е. если поисковое слово в поле query есть в title при индексе, то все выводится без проблем, но если в самом тексте документа и идет в поле contentdocs, то поиска не происходит
Подскажите пожалуйста, что я делаю не так

Заранее спасибо и всех с пятницей)
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы