Sütun sürü genelinde PHP ve MySQL arama

2 Cevap php

Ben belirli bir tabloda, varchar ve int hem de, 50 + sütunlar aracılığıyla aramak için bir yol gerekir. Bana fazla 16 sütun veya varchar, hem de birleştirmek ve sütunları int izin vermez Ben insanların lucene ve Sfenks tavsiye gördüm, ama ben nasıl bu ve MySQL tam metin kullanma hakkında gitmek için hiçbir ipucu var.

2 Cevap

Değişiklikler arama yansıtılır önce masa, bir sürü ya da biraz zaman gecikme güncellenen almaz, belki de bir LONGTEXT daki tüm sütunları ve birleştiren bir periyodik-rejenere türetilmiş bir tablo yapabilir, kabul edilebilir Bu konuda bir tam dizin var.

Eğer tablo döner ve onu biraz kıyma düşünebilirsiniz. Tüm varchar sütunları almak ve bir tablo "Search_Strings" verileri saklamak; int sütunlar için aynı şeyi:

özgün tablo

id
always_field1
always_field2
varstring1
...
varstringx
int1
...
inty

new main_table (same number of rows as özgün tablo, but very few columns)

id
always_field1
always_field2

Search_Strings (

id (FK to main_table)
old_column_name
string_value

Search_Ints

id (FK to main_table)
old_column_name
int_value

Bu kurulum ile, sadece string_value üzerinde bir tam dizin gerekir. Onlarla aşina değilim Üzgünüm Sfenks veya Lucene ile bir şey önermek olamaz.