Каков наилучший способ для анализа необработанных запросов пользователей и определения того, кто хочет искать - PullRequest
2 голосов
/ 13 июня 2010

Я разрабатываю очень простой прототип поисковой системы в Интернете, и теперь я хочу знать, каков наилучший способ анализа необработанных запросов пользователей и определения того, кто хочет искать. как Google, Bing, Yahoo и т.д ...

пример пользовательского необработанного запроса выглядит примерно так:

Google+Maps+"South+Africa"+Brazil+OR+Italy+OR+Spain+-Argentina+Netherlands

и я хочу разделить это на общий список каждого термина (одного), например:

IEnumerable<KeyValuePair<TermType, string>>
<TermType.All, "Google">
<TermType.All, "Maps">
<TermType.Exact, "South">
<TermType.Exact, "Africa">
<TermType.Any, "Brazil">
<TermType.Any, "Italy">
<TermType.Any, "Spain">
<TermType.None, "Argentina">
<TermType.None, "Netherland">

Мне не нужен полный код, я хочу руководство, решение, советы или что-нибудь, что поможет мне лучше всего писать для анализа пользовательских необработанных запросов.

заранее спасибо

1 Ответ

1 голос
/ 13 июня 2010

Не думайте с точки зрения строки запроса. Сначала подумайте о логических операциях поиска, которые вы хотите разрешить, и о том, как ваш движок будет их удовлетворять.

То, как каждый набор логических операций может быть переведен из одной или нескольких строк запроса, становится подробностью реализации.

...