Ben insanları ve tüm iletişim bilgileri listeleyen bir tablo var. Kullanıcıların sadece bazı şeyler yazarak ve girdikleri her dönem tablodaki sütunların en az birini maçları sonuçları geri alarak masaya akıllı arama yapmak edebilmek için istiyorum. Ben böyle bir sorgu yaptık başlatmak için
SELECT * FROM contacts WHERE
firstname LIKE '%Bob%'
OR lastname LIKE '%Bob%'
OR phone LIKE '%Bob%' OR
...
Ama şimdi ben ayrı ayrı önce bir soyadı için arama kadar akıllı değildir, çünkü bu tamamen 'Bob Jenkins' gibi basit bir şey başarısız olacağını biliyoruz. Yapmam gereken ne arama terimleri bölmek ve ayrı ayrı onları aramak ve sonra her nasılsa her dönem sonuçlarını kesiştiği edilir. En azından bu benim için bir çözüm gibi görünüyor. Ama bu konuda gitmek için en iyi yolu nedir?
Ben, tam metin ve MAÇ (...) KARŞI (duydum) ama bu oldukça bulanık arama gibi geliyor ve ben bunu kurmak için ne kadar çok iş bilmiyorum. Ben makul performans ile kesin evet veya hayır sonuç istiyorum. Arama 120.000 satırlara göre yaklaşık 20 sütun üzerinde yapılması gerekiyor. Umarım kullanıcıların en fazla iki veya üç terim yazın olmaz.
Ah pardon, ben MySQL kullanarak (ve PHP) am söylemeyi unutmuşum.
Ben sadece tam arama anladım ve (? SINIR sadece bakılmaksızın eşleşen ne kadar iyi sonuçlar doğrayın olacağını ne kadar sıkı ayarlamak için bir yol yoktur) dikkate serin bir seçenektir. Ama bu bir tam dizin gerektirir ve benim web sitesi bir görünümünü kullanarak ve indeks bir görünüm hakkı değil mi? Yani ...