Mam katalog produktów, który indeksuję w ElasticSearch za pomocą klienta Elastica. Jestem bardzo nowy w ElasticSearch BTW.ElasticSearch - Wyszukiwanie łącznikami w nazwie
W moim katalogu są produkty, które mają 't-shirt'
w nazwie. Ale nie będą one wyświetlane w wynikach wyszukiwania, jeśli wpiszę 'tshirt'
.
Co mogę zrobić, aby 't-shirt'
wyświetlało się również w wynikach?
Śledzę this samouczek i wdrożono następujące dla indeksów:
'analysis' => array(
'analyzer' => array(
'indexAnalyzer' => array(
'type' => 'custom',
'tokenizer' => 'whitespace',
'filter' => array('lowercase', 'mySnowball')
),
'searchAnalyzer' => array(
'type' => 'custom',
'tokenizer' => 'whitespace',
'filter' => array('lowercase', 'mySnowball')
)
),
'filter' => array(
'mySnowball' => array(
'type' => 'snowball',
'language' => 'English'
)
)
)
To działało idealnie dla mnie! Dzięki! – Hitesh
Jeśli chcesz użyć kwerendy simple_query_string, nie zapomnij dodać "analyze_wildcard": true "jeśli chcesz używać symboli wieloznacznych. W przeciwnym razie nie możesz wyszukać t- *, ts *, ... – rvheddeg
, a jeśli user search for "t shirt" – Julien