asticsearch поиск точного соответствия в многозначном поле с URL, относящимися к документу
Я очень новичок в asticsearch и застрял в формировании поисковых запросов, а точнее с помощью ElasticSearch PHP Client
я пытаюсь сделать следующее: у нас есть 500000 документов с различными свойствами, доступными для каждого документа. нам нужно иметь возможность поиска по любому из полей, а именно: поиск по цину или производителю, тегам или URL. В настоящее время я использую следующий синтаксис для поиска:
Я обнаружил, что для точного соответствия мне сначала нужно инициализировать индекс со следующими свойствами:
// Adding a new type to an existing index
$myMappings = array(
'_source' => array(
'enabled' => true
),
'properties' => array(
'urls' => array(
"index" => "not_analyzed",
'type' => 'string',
'analyzer' => 'keyword',
)
)
);
$params['body'][dupes] = $myMappings;
после того, как я загрузил все данные, я попытался выполнить следующий запрос стиля с asticsearch client-php:
$doc['index'] = 'lookup';
$doc['type'] = 'dupes';
$doc['body']['query']['bool']['should'][]['terms']['tsin'] = (array)$data['tsin'];
$doc['body']['query']['bool']['should'][]['terms']['urls'] = $urls_array;
$doc['body']['query']['bool']['should'][]['terms']['title'] = (array)$data['title'];
$doc['body']['query']['bool']['minimum_should_match'] = 1;
$retDoc = $client->search($doc);
Мне нужно вытащить все документы, соответствующие любому из полей, обратите внимание, что URL может иметь несколько значений поиска, валюту, которую я отправляю, массив URL, по которым я хочу искать.
Как правильно структурировать запрос, который будет в состоянии получить все результаты, где каждая запись в точности совпадает, включая многозначные поля (в моем примере "URL-адреса")?
hits: {
total: 578363
max_score: 1.9548206
hits: [
{
_index: dedupe_lookup
_type: product
_id: tseym752t1
_score: 1.9548206
_source: {
tsin: tdfaa
slug: usb-metallic-i-love-you-hand-gesture-necklace-flash-drive
title: usb metallic i love you hand gesture necklace flash drive
manufacturer:
tags: null
approved: 0
urls: [
http://www.aliexpress.com/item/free-shipping-new-gift-gold-metal-hand-shape-pendant-usb-flash-drive-the-hand-shape-on/1064760529.html
http://hert.en.ec21.com/unique_hand_gesture_necklace_usb--5017329_6432159.html#
http://www.wsdeal.com/cu0386y/join.ws
http://www.fat.com/8-g-love-you-hand-gesture-design-usb-flash-drive-golden-p-59257.html
http://www.landofthebest.com/8-g-love-you-hand-gesture-design-usb-flash-drive-golden--inf-15888.html
http://www.madlime.com/4-g-love-you-hand-gesture-design-usb-flash-drive-golden
http://lady.brando.com/usb-metallic-i-love-you-hand-gesture-necklace-flash-drive_p00594c0005d003.html
]
create_date: 2014-02-13T21:47:07+00:00
modified_date: 2014-02-14T00:56:08+00:00
}
}, { .... more documents like that }