Я не знаю, как объяснить это в заголовке, у меня возникла проблема, когда я ищу, когда я ищу типичный запрос, такой как united kingdom
, и записи включают записи, которые имеют united states
, которыйМне не нужно включать его в результат запроса, даже при поиске new york
Я получаю некоторые записи, возвращаемые из york
(в Англии).
Другая, при поиске maidstone
, запрос возвращаетзаписей вообще нет, но в базе данных она существует.
Мне нужно решить проблему с помощью этого запроса, он должен найти строки, соответствующие введенному запросу, и удалить их, которые соответствуют параметрам - когда я говорю «параметры», яозначает rec.column_name = etc...
.
При поиске united kingdom
:
WHERE ( MATCH (rec.street_name, rec.city, rec.state, rec.country) AGAINST ('united kingdom' IN BOOLEAN MODE)
OR ( rec.street_name = 'united kingdom'
OR rec.city = 'united kingdom'
OR rec.state = 'united kingdom'
OR rec.country = 'united kingdom'
)
) AND ( rec.visible_listing = 1 AND rec.marked_delete = 0 AND rec.is_archive = 0 )
При поиске maidstone
:
WHERE ( MATCH (rec.street_name, rec.city, rec.state, rec.country) AGAINST ('maidstone' IN BOOLEAN MODE)
OR ( rec.street_name = 'maidstone'
OR rec.city = 'maidstone'
OR rec.state = 'maidstone'
OR rec.country = 'maidstone'
)
) AND ( rec.visible_listing = 1 AND rec.marked_delete = 0 AND rec.is_archive = 0 )
Это общие записи в таблице:
+--------------------+---------------+----------------+----------------+-----------------+---------------+------------+
| street_name | city | state | country | visible_listing | marked_delete | is_archive |
+--------------------+---------------+----------------+----------------+-----------------+---------------+------------+
| Mill Hill | Dover | Kent | United Kingdom | 1 | 0 | 0 |
| Penmaes | Rhayader | Powys | United Kingdom | 1 | 0 | 0 |
| Essex St | Jersey City | Hudson | United States | 1 | 0 | 0 |
| Vesey St | New York | New York | United States | 1 | 0 | 0 |
| E Broadway | Manhattan | New York | United States | 1 | 0 | 0 |
| Cowdray Square | Dover | Kent | United Kingdom | 1 | 0 | 1 |
| Falsgrave Crescent | York | England | United Kingdom | 1 | 0 | 0 |
| Tait Ave | Sanger | California | United States | 1 | 0 | 0 |
| Morton Ave | Parsons | Kansas | United States | 1 | 0 | 0 |
| N Washington St | Clinton | Missouri | United States | 1 | 0 | 0 |
| Lower Barngoose | Carn Brea | Cornwall | United Kingdom | 1 | 0 | 0 |
| Moorwell Dr | Shepherdswell | Kent | United Kingdom | 1 | 0 | 0 |
| Elm Grove | Maidstone | Kent | United Kingdom | 1 | 0 | 0 |
| Manse Rd | Killin | Stirling | United Kingdom | 1 | 0 | 0 |
| Muirkirk Dr | Glasgow | Glasgow City | United Kingdom | 1 | 0 | 0 |
| Alveston Ave | Harrow | Greater London | United Kingdom | 1 | 0 | 0 |
+--------------------+---------------+----------------+----------------+-----------------+---------------+------------+
Как создать хороший поисковый запрос, который возвращает не ложные данные?