Что лучший способ состоит в том, чтобы реализовать исправление опечатки в поиск в php/mysql?

Ну, можно использовать consts в атрибутах, так как они существуют как время компиляции. Вы не можете предсказать значение статической переменной только для чтения, так как эти .cctor мог инициализировать его от конфигурации и т.д.

С точки зрения использования, константы врезаются в код вызова. Это означает, что, если Вы перекомпилировали библиотека dll для изменения общественность постоянный, но не изменяете потребителей, тогда он, потребители будут все еще использовать исходное значение. С переменной только для чтения этого не произойдет. Зеркальное отражение этого - то, что константы (очень, очень немного) более быстры, так как это просто загружает значение (вместо того, чтобы иметь необходимость разыменовать его).

интернирование Ре; хотя можно сделать это вручную, это - обычно функция компилятора/времени выполнения литералов; если Вы init поле только для чтения через литерал:

someField = "abc";

тогда эти "abc" будет интернирован. При чтении его из конфигурации это не будет. Поскольку постоянная строка должна быть литералом, она будет также интернирована, но к ней получают доступ по-другому: снова, чтение из поля является разыменовыванием, а не ldstr .

7
задан peter-b 14 July 2015 в 15:53
поделиться

3 ответа

Я думаю, вам придется реализовать внешнюю систему полнотекстового поиска. MySQL просто не подходит для полнотекстового поиска. Я бы сказал, вам стоит попробовать Lucene ( учебники ). Zend Framework имеет API , который подключается к Lucene, что упрощает изучение и использование.

6
ответ дан 7 December 2019 в 07:49
поделиться

Я не использовал ни php, ни mysql, но альтернативой полнотекстовому поиску может быть поиск soundex .

0
ответ дан 7 December 2019 в 07:49
поделиться

Предполагая, что вы используете MySQL - MySQL не имеет встроенных функций, которые могли бы это сделать.

Это означает, что вам придется реализовать выполните полнотекстовый поиск самостоятельно или воспользуйтесь сторонним инструментом полнотекстового поиска.

  • Если вы реализуете это самостоятельно, вам следует изучить алгоритмы метафона или двойного метафона (я бы рекомендовал их вместо soundex, который не так хорош в этом типе задача), чтобы хранить фоенетические представления всех ваших слов. Однако создание собственного полнотекстового поиска - задача не для слабонервных. Не пытайтесь это сделать, если вы не считаете себя мастером баз данных.
  • Если вам нужен сторонний инструмент, Lucene - это то, что вам нужно. Он перенесен на множество различных языков / платформ , включая PHP - вам не нужно использовать Java.
1
ответ дан 7 December 2019 в 07:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: