Új hozzászólás Aktív témák
-
Gergello
addikt
Sziasztok !
Nem igazán ismerem ezt a fulltext keresési módot, de találtam egy lekérdezést, amivel kísérletezek és én is írtam egyet saját kútfőből.
Egy webshop keresést szeretnék megvalósítani, úgy hogy a találatokat relevancia szerint csökkenő sorrendben adja vissza.
Van egy products nevű tábla mindenféle lényegtelen mező mellett a lényegesek:
product_model
product_name
product_description
Ezekből egyedül a product_model-en van btree index. /van id mező is, de azt most nem vettem bele ebbe/
Ezekben szeretnék keresni.Amit találtam fulltext lekérdezés, annál azt talapasztalom, hogy bárhogy próbáltam a * karakterrel feljavítani az illesztést, nem tudok vele úgy keresni, hogy pl.
a keresőszó: "fúró", akkor a "fémfúró"-t tartalmazó sort nem adja vissza, de a "fúrókészlet"-t igen, csak a szavak kezdetére tudok illeszteni.Fulltext keresés, nem saját munka: Lehet ezt módosítani, hogy a szavak végére is illesszen? Hiába raktam az elejére (is) csillagot.
SELECT
product_name,
(
(
1.3 *(
MATCH(product_name) AGAINST(
'lyukfúró*' IN BOOLEAN MODE
)
)
) +(
0.6 *(
MATCH(product_description) AGAINST(
'lyukfúró*' IN BOOLEAN MODE
)
)
)
) AS relevance
FROM
products
WHERE
status = 1
AND
(
(MATCH(product_name, product_description) AGAINST('lyukfúró*' IN BOOLEAN MODE))
OR
LCASE(product_model) LIKE '%lyukfúró%'
)
ORDER BY
relevance DESC,
LCASE(product_name) ASCErre találtam ki az alábbi megoldást: Mi erről a véleményetek, nagy baromság ?
Itt a példa keresőszó a "bmw vezérlés benzin", mindegyik szóra csinálok egy ilyen kis csoportot (3 case when) és az where-ben az AND-al kapcsolt részek.select*,(case when product_model like '%vezérlés%' then 10 else 0 end) +(case when product_name like '%vezérlés%' then 5 else 0 end) +(case when product_description like '%vezérlés%' then 2 else 0 end) +
(case when product_model like '%bmw%' then 10 else 0 end) +(case when product_name like '%bmw%' then 5 else 0 end) +(case when product_description like '%bmw%' then 2 else 0 end) +
(case when product_model like '%benzin%' then 10 else 0 end) +(case when product_name like '%benzin%' then 5 else 0 end) +(case when product_description like '%benzin%' then 2 else 0 end)as priorityfromproductswhere(product_model like '%vezérlés%'orproduct_name like '%vezérlés%'orproduct_description like '%vezérlés%')AND(product_model like '%BMW%'orproduct_name like '%BMW%'orproduct_description like '%BMW%')AND(product_model like '%benzin%'orproduct_name like '%benzin%'orproduct_description like '%benzin%')order bypriority desc,LCASE(product_name) ASC
Új hozzászólás Aktív témák
- Tanuljunk angolul!
- mefistofeles: Az elhízás nem akaratgyengeség!
- Vezeték nélküli fülhallgatók
- Apple MacBook
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Több ezer műholddal bővülhet az Amazon flottája
- Óra topik
- Melyik tápegységet vegyem?
- Synology NAS
- Elvonult a zimankó, de a hardverek nem mennek sehová
- További aktív témák...
- BONTATLAN Zacskós ThinkCentre M70s SFF Business Időtálló Asztali gép -50% i5-14500 16/512 770 Magyar
- Thrustmaster T300 RS Alcantara + Wheel Stand Pro Állvány
- 4K Gamer PC i7-14700K / RTX 5070 12GB / 32GB DDR5 / 1TB NVMe / NZXT Ház - 280 AIO - Beszámítás
- BESZÁMÍTÁS! MSI Z690 i5 12400F 32GB DDR4 512GB SSD RX 6750XT 12GB ASUS A31 PLUS TG ARGB Seasonic750W
- BESZÁMÍTÁS! MSI A320M R5 1600 8GB DDR4 240GB SSD GTX 1050Ti 4GB ZALMAN T3 PLUS DeepCool 400W
- Újszerű Dell Latitude 7400 14" FHD IPS, i5 8365U, 16GB RAM, SSD, jó akku, számla, 6 hó gar
- Xiaomi Redmi 14C / 4/128GB / Kártyafüggetlen / 12Hó Garancia
- Samsung Galaxy S24 Ultra 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- Dell XPS 13 9300 i7-1065G7 8GB 512GB FHD+ 500nit! 1 év garancia
- HP 255 G10 Ryzen 5 7520U 8 GB DDR5 256 GB SSD FHD Új 2 ciklus Gari 2028.
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

