Я провел несколько часов исследований, но мне еще предстоит найти золотой ответ. Это одна из тех тем исследований, которые мне трудно объяснить в поиске Google.Разбор строки разумно, чтобы построить сложные вызовы api
Во всяком случае, моя цель состоит в том, чтобы взять строку, как показано ниже,
Шаг 1: поиск пользователя, «3-комнатная квартира $ 2600 в Сан-Франциско».
Этап 2: ?????? Магия происходит в этом слое ???????
Шаг 3: Интеллектуальный поиск апи строка конструируется:
http://api.service.com/?city=San%20Francisco&heading= "3 комнатная квартира" | "три-комнатная квартира" | "3-комнатная кв" | "три спальни склонны" & MIN_PRICE = 2200 & MAX_PRICE = 2800
магия Шаг 2 должен быть в состоянии справиться:
- MIS-spellnigs
- Правильный прогноз города
- Понимает, что означает число (если это валюта a.k.a "$ 3" или "3 доллара" или значение для чего-то).
- выкидывает общие статьи, такие как «и», «в» и т.д.
Предпочтительно, решение использует PHP или Javascript асинхронный вызов службы третьей стороной я мог бы использовать для выполнения алгоритмов базы данных и магии (Google ??). Я открыт для создания чего-то с помощью кода с открытым исходным кодом, который также использует мою собственную базу данных.
Спасибо, ребята, за понимание!
Я бы сохранил все полуразделенные и имел RegExps, которые могут вынюхивать целые куски значимых данных. вы также должны иметь очистку первого прохода, который гомогенизирует пробелы, строчные буквы, изменяет «три» на «3» и т. д., чтобы уменьшить более поздние комбинации «что-если», сконцентрированные в определенной области, например, вы можете сделать разумный интерфейс в полдень или два. Сделайте все, что вы наберете, достаточно гибкие, чтобы обновлять и уточнять по мере его развития. – dandavis
Вы должны оставить это для полнотекстового машинного движка, например, встроенного на вашем сервере db или чего-то еще посвященный, как Apache Solr. – bfavaretto
bfavaretto вы можете связать меня с кем-то, говорящим об этом решении в глубину? Кроме того, для моих будущих исследований справедливо сказать, что то, что я пытаюсь сделать здесь, называется «Полный текстовый поиск» .. Я думаю, это помогло бы узнать, как описать, что это называется, что я пытаюсь сделать. – That1guyoverthr