Поиск Query Parser - PullRequest
       2

Поиск Query Parser

0 голосов
/ 30 октября 2011

Мое приложение должно искать сохраненные изображения на основе поискового запроса.Пользователь может искать в label, description, people tagged in, time posted.для этого я пытаюсь создать поисковый запрос parser, который принимает wild card (*) @TaggedPeopleName (DateFrom - DateTo) #Place и все другие тексты, соответствующие метке и описанию.Мой вопрос, я изобретаю колесо?или уже существует такой синтаксический анализатор с аналогичной функциональностью?

Примеры запросов:

  • @JohnLenon 500 Miles

    вернет изображения, соответствующие 500 Miles в метке или в описании и имеет тег Джона Ленона

  • (24 Dec - 30 Dec)

    вернет все изображения, загруженные в этот период времени.

  • #Kolkata (24 dec - 31 Dec) Occupy Together

    вернет все изображения, которые соответствуют строке Occupy Together в ярлыке или в описании, и в пределах таймфрейма 24 dec to 31 Dec, снятые на месте Kolkata

Если какая-то библиотека уже делает это, возможно, с другим синтаксисом, я приму.поскольку я не придерживаюсь только этого синтаксиса

1 Ответ

0 голосов
/ 30 октября 2011

Насколько мне известно, нет ничего, что делает это автоматически для вас - это слишком специфично для вашей ситуации.

Я бы разбил его на куски, чтобы было легче.

Поискдля всех терминов, начинающихся с @, - удалить их.
Поиск всех терминов, начинающихся с # - удалить их.
Поиск всех терминов, окруженных () - удалить их.

Что нужно подумать:

  • Что если кто-то захочет найти термин в описании, начинающемся с @ или #?
  • В каком форматеусловия () - большинство людей не будут естественно форматировать даты, как у вас?
  • Что если кто-то просто вставит мусор между ()?
  • Что, если два слова разделены другим токеном, но после удаления их сложены вместе?
  • Или что, если человек соединяет два слова, но не хочет, чтобы их искали как один термин?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...