Показать полную графическую версию : [решено] Что такое "поисковый оператор"?
lxa85, твое мнение понятно, и я его разделяю с математической точки зрения.
Теперь вернемся к контексту обсуждения При поиске в Интернете, будь то поисковый движок или сайт, операторы, квантификаторы или как вы их еще назовете имеют одно общее свойство. Они подразумевают использование с ними как минимум одного ключевого слова. »
Ты согласен, что в этом контексте ключевое слово является операндом? :)
т.е. будет ли что ключевое слово, например "утюг" при поиске домашних электроприборов, являться оператором? Я правильно понял вопрос?
lxa85, нет, не так. Утюг, тостер, старинный и электрический - ключевые слова, операнды. А операторы - X, Y, Z. Я веду к тому, что имеют смысл запросы:
утюг Y старинный
утюг Y элетрический X тостер
(утюг Z тостер) Y электрический
И не имеют смысла запросы:
X
Y
Z
Vadikan, Да, X, Y, Z по отдельности не имеют смысла.
Смысл появляется только с наличием операндов.
Я соглашаюсь.
Delirium
15-11-2011, 00:55
Вы взрываете мозг после утреннего прочтения таких глубоких мыслей :)
Morpheus
15-11-2011, 01:14
Ууу, если даже программеры математиков с трудом понимают, то каково нам, простым юзерам? :)
Имея математическое образование, я однако изложил свой тезис очень простыми словами. lxa85 препочел обосновывать свою логику математическими понятиями. Возможно, для некоторых это выглядит более научно, а соответственно - более правильно. На самом деле, я не вижу разницы в логике, а лишь в терминологии.
Delirium, Morpheus, аналогично: «Д'Артаньян чувствовал, что тупеет». Я вновь потерял суть обсуждения.
С вашего позволения поделюсь своими мыслями по данному вопросу.
Поисковая система взаимодействует с пользователем посредством поля ввода поиска, а поисковый механизм от пользователя сокрыт. Поисковым оператором, можно считать обычное слово (например тот же "утюг"), в данном случае это пользовательский оператор, тоесть минимальная единица с которой будет взаимодействовать поиск. Слово может быть любым произвольным. Когда же в поисковом выражении мы используем поисковые операторы«&», «+», «-», «&&», «|», «~», «$», «OR», «NOT» и т.п »то на мой взгляд, пользовательский оператор перестаёт быть оператором и становится операндом, т.к. именно с операндами производятся действия посредством поисковых операторов, это может быть форсирование поиска данного слова в поисковом условии или исключение его из условия поиска и т.д. В этом случае поисковым оператором нужно считать
«&», «+», «-», «&&», «|», «~», «$», «OR», «NOT» и т.п
Drongo, не соглашусь :)
Рассматривая все тот же "Утюг". Запрос к БД на языке SQL будет примерно следующий
SELECT Text FROM *
WHERE Text = Утюг
Т.е. сокрытый от пользователя механизм поиска работает со всеми таблицами *, выбирая текстовые поля и пересекая их с операндом "Утюг".
В то время как «&», «+», «-», «&&», «|», «~», «$», «OR», «NOT» и т.п
Создадут дополнительные логические конструкции в SQL запросе.
lxa85, Погоди, не спеши так. :) Смотри, одно слово, минимальная поисковая единица, нужно же хоть что-то искать? А поскольку это "что-то" может быть разным, тоесть, ты ищешь утюг, я - дрель, третий - процессоры, то это можно считать пользовательским поисковым оператором, оператором, который пользователь сам задаёт. При использовании
«&», «+», «-», «&&», «|», «~», «$», «OR», «NOT» и т.п Условие поиска сформируется более точнее, следовательно в этом случае пользовательский оператор подвергается обработке поисковым оператором. Возьмём кавычки "", в первом случае поиск будет осуществлён по каждому слову, во втором по всей строке, очевидно, что пользовательский поисковый оператор подвёргся модификации, став поисковой строковой константой, следовательно, произведённые действия кавычками, сделали его из пользовательского оператора - операндом.
HDD Samsung [модель] 500 ГБ
"HDD Samsung [модель] 500 ГБ"
Drongo, эка загогулина :)
Чтобы утюг, дрель, процессор стал оператором, необходима некоторая договоренность о том, что бы это было оператором.
Если это поисковая единица, и по ней выдается информация, то запрос осуществлен. С этим сложно спорить :)
Значит что-то (некоторый поисковый механизм) искал с заданным условием. В данном случае утюги, дрели, процессоры и т.д.
оператором, оператором, который пользователь сам задаёт. »
Нет, нет, нет. Это пользовательский операНД.
Вспомни ООП. Поисковая функция - черный ящик (инкапсулированная функция. вспомнил :) ). На вход функции подается операнд. Пользовательский, но операнд.
(сейчас не буду рассматривать функции улучшения механизма поиска, оставив это в "черном ящике")
Когда мы вводим дополнительные логические условия, мы формируем более детальный запрос. Через синтаксический анализатор, через ля-ля-тополя, но тем не менее (учет предметной области, предыдущих запросов, и т.д. и т.п.).
Логические операторы OR, AND и т.д. будут проанализированы и начнется формирование нового запроса с уточняющими хар-ми.
Если мы берем кавычки, то мы разумеется подаем всю строку, как единый блок данных.
----
Рассмотрев структуру механизма поиска, нам никто не мешает задавать расширенные запросы, с уточняющими словами и т.д., главное, чтобы механизм поиска поддерживал эту функцию.
Все что мы попробуем найти - будет операндом. А результатом поиска - результат функции f(y,x), где
y - Область информации, к которой производится запрос
x - пользовательский запрос (не важно какой степени структурной сложности)
f - функция поиска
----
Не получается у меня согласиться на "Пользовательский оператор" :)
Чтобы утюг, дрель, процессор стал оператором, необходима некоторая договоренность о том, что бы это было оператором. »
Согласен. Нельзя считать поисковый запрос оператором, ибо тогда непонятно, что такое операнд, а это уже определено :)
Morpheus
17-11-2011, 15:29
Т.е., например, владельцы сайта берут некий движок и его дорабатывают. Потом договариваются, что яблоко, груша и ещё 5 слов становятся операторами, об этих пяти пишут в справке, расшарив их для юзеров, а яблоко с грушей оставляют только для себя. Проходит несколько лет, пользуются только грушей, а было ли яблоко, а может и ещё какая малина, никто уже никогда не вспомнит.
Верны ли утверждения, что
1. Яблоко не перестаёт быть оператором только потому, что о нём забыли.
2. Владельцы сайта могут не знать о "договорённостях" разработчиков движка.
3. Спрашивать у пользователя - "Что ты сейчас использовал, оператор или неоператор" абсолютно бессмысленно, ибо юзеру никто никогда не говорил о договорённости про яблоки и груши, и юзер это узнать может только при наличии телепатических способностей.
Morpheus, Верны ли утверждения, что »
Да, при условии соблюдения синтаксиса запроса. (Читай резервированное слово в языках программирования. Как пример то же OR, AND, и т.д.) Если брать конкретный пример, то "яблоко" - будет не документированной возможностью поисковой системы.
Да, разумеется. Для этого существует документация.
Опять же да. Юзер узнает об этой "договоренности" только получив некорректные, с его точки зрения, результаты поиска. Возможно даже попробует зафиксировать баг и(или) недокументированную возможность поисковика(см. выше)
об этих пяти пишут в справке, расшарив их для юзеров, а яблоко с грушей оставляют только для себя. »
"расшарив только для себя" - не совсем понятное утверждение. Обычному юзеру будет либо запрещено использовать данный механизм, либо будет 2 разных поисковика.
Как пример - поиск на данном форуме с учетом открытых и закрытых форум. Например "Админка", про которую я часто слышу, но не вижу.
Morpheus
17-11-2011, 16:20
1. Да
2. Да, разумеется.
3. Опять же да. »
чтд
Обычному юзеру будет либо запрещено использовать данный механизм, либо будет 2 разных поисковика. »
Не обязательно, ведь никакого "криминала" в выводе может и не быть... А в качестве оператора можно назначить что-то (символ/набор символов) очень редкое.
Morpheus,
1. Если поисковый запрос состоит из единственного слова (символа), им может являться либо оператор, либо операнд. Это не может быть их сочетанием.
2. Поисковая операция подразумевает наличие либо только ключевых слов (операндов), либо их же в сочетании с операторами. Иначе быть не может.
3. Поисковая операция не может состоять только из операторов. С этим согласился lxa85, которого ты благодаришь за каждый пост, который, как тебе кажется, льет воду на твою мельницу.
4. Таким образом, когда поисковая операция
а) состоит из единственного слова (символа)
б) не может состоять только из операторов
это слово (символ) является операндом, но никак не оператором.
Но у тебя получается, что поисковая операция, состоящая из единственного оператора, вполне возможна. Главное - договориться. Так договорись с собой - напиши свое определение и пометь тему решенной :)
Morpheus
17-11-2011, 17:19
Поисковая операция не может состоять только из операторов. »
если поисковый запрос состоит из единственного слова (символа), им может являться либо оператор, либо операнд. Это не может быть их сочетанием. »Ты сам себе противоречишь :)
Почему не может?
А операторы - X, Y, Z. Я веду к тому, что имеют смысл запросы:
утюг Y старинный
утюг Y элетрический X тостер
(утюг Z тостер) Y электрический
И не имеют смысла запросы:
X
Y
Z »
Ведь могли же договориться, что, например, Y - это "красивый", X - "не", а Z - "или". Вот и получается, что запросы
X
Y
Z
будут иметь смысл.
И вообще мне кажется, что наш сегодняшний поиск состоит полностью из операторов. Заколотив, например, "яблоко" могут найтись сайты где есть "яблоко" и "антоновка". Просто договорились, что будет так и всё. А назвали это каким-нибудь интеллектуальным поиском. Пользователь может и не знать, что яблоко это уже не просто яблоко :)
Ты сам себе противоречишь »
Нет, это ты переставляешь звенья цепи моих логических рассуждений в своем порядке, чтобы выдумать противоречие! Ты даже не понял, что мои слова - это не набор фраз, а логическая цепочка.
Я пронумеровал звенья, чтобы тебе было понятнее:
#1 - проблема, которую мы рассматриваем.
#2 - аксиома
#3 - обоснование, выраженное логическим и [ранее] математическим языком
#4 - вывод
Больше мне добавить нечего, и я торжественно обещаю больше никогда в жизни не обсуждать с тобой тему операторов. Договорись с сам с собой, и тогда тебе будет легче договариваться с другими...
Morpheus
17-11-2011, 18:29
#2 - аксиома »
Теорема (предположение) (выдумка), называй как хочешь.
#3 - обоснование, выраженное логическим и [ранее] математическим языком »
См. обоснование в #38 на вашем же языке :)
#4 - вывод »
Там же, в #38.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.