MySQL tabloları tavsiye aramak için PHP 'akıllı' arama motoru

2 Cevap php

Benim php tabanlı bir web sitesi için bir arama motoru oluşturma. Ben bir mysql tablo aramak gerekir.

Şey kullanıcıların kolayca (bu bir seri ilanlar sitesi var) kendi öğeleri bulabilirsiniz böylece arama motoru, oldukça 'akıllı' olması gerekir, olduğunu.

Şu anda bu kod parçası ile bir FULLTEXT arama kurdunuz:

    MATCH (headline) AGAINST ($querystring)

Ama bu yeterli değil ...

For instance, lets say the field headline contains something like Bmw 330ci. If I search for 330, I wont get any results. The ending ('ci') is just one of many endings in car models which must be taken into account when searching the table.

Ya headline alanı nedir bmw330? Eğer Ayrıca hiçbir sonuç, sadece tam sözcükleri eşleşir çünkü.

Ya da, ne varsa headline bmw 330 bmw 330, ve ben bmw 520 aramak, hala FULLTEXT ile alacağım bir olarak Sonuç, ben aramış olsa bile bmw 520 ... iyi değil!

Bu sorunu nasıl çözmek gerekir?

2 Cevap

Bu tam metin arama gelince, ücretsiz çözümler isteyen insanlar genellikle ya Sphinx veya Solr kullanma eğiliminde.

Ben bu iki kullanmadıysanız, ama hey, büyük ve PHP ve MySQL ile / kullanmak kolay olan birkaç kez okudum.

Eğer yardım metinlerini görüntüleniyor deneyebilirsiniz. kullanıcı türleri BMW ararken,. google gibi bir yardım metni olarak gösteren vb BMW 330ci, BMW 320ci gibi ayrıntıları gösterebilir eğer böylece kullanıcı yardım listeden seçmek anlamına gelir .

Ama bunun için üzgünüm yukarıdaki fikri, uygulanması ile ilgili hiçbir fikrim yok.