Язык запросов выборки по тегам
От: der Igel Россия  
Дата: 14.05.08 12:42
Оценка:
#Имя: info.help.tags
Язык запросов тегов основан на Apache Lucene.NET.
Полную документацию по синтаксису запросов для Lucene можно найти здесь.

  1. Элементы
    Запрос делится на элементы и операторы. Есть следующие типы элементов: одиночный элемент, фразы и подзапросы.
    Одиночный элемент – это одно слово, например: "test" или "hello".
    Фраза – это группа слов, окруженная двойными кавычками, например: "hello dolly".
    Подзапрос – это запрос, окруженный скобками, например: "(hello dolly)".
    Несколько элемнтов могут комбинироваться с булевыми операторами для составления более сложных запросов (см. ниже).

  2. Булевы операторы
    Булевы операторы позволяют комбинировать элементы через логические операторы. Lucene поддерживает AND, "+", OR, NOT и "-" как булевы операторы.

    2.1. AND
    Оператор AND означает, что документ должен соответствовать всем элементам в "группе AND".
    Для поиск документов, содержащих "Visual Studio" и .NET используется запрос:
    "Visual Studio" AND .NET (или просто "Visual Studio" .NET)

    2.2. OR
    Оператор OR делит запрос на несколько необязательных частей.
    Для поиска документов, содержащих "Visual Studio" или .NET используется запрос:
    "Visual Studio" OR .NET

    2.3. NOT
    Оператор NOT исключает документы, содержащие элемент после NOT. Но "группа AND", содержащая только элементы с оператором NOT, даст пустой результат вместо всего набора проиндексированных документов.
    Для поиска документов, содержащих "Visual Studio", но без .NET, используется запрос:
    "Visual Studio" AND NOT .NET

    2.4. Операторы &&, ||, и !
    Операторы &&, ||, и ! могут использоваться вместо AND, OR и NOT.

    2.5. +
    "+" означает, что документ должен соответствовать элементу, находящемуся после "+".

    2.6. —
    "-" исключает документы, соответствующие элементу находящемуся после него.

    2.7. Отсутствие оператора
    Если не не указан оператор, то поведение определяется используемым по умолчанию булевым оператором.
    По умолчанию таким оператором является AND (отличие от оператора по умолчанию в Lucene).
    Это означает, что данный элемент является обязательным.

  3. Групирование
    Lucene поддерживает использование скобок для группирования условий в подзапросы. Это может быть полезным, если вы хотите контролировать булеву логику для запросов или смешивать различные стили запросов:
    +(.NET OR C++) +"Visual Studio"
    Поддерживается подзапросы на любом уровне вложенности.

  4. Экранирование специальных символов
    Lucene поддерживает экранирование тех специальных символов, которые являются частью синтаксиса запросов. Список специальных символов:
    + — && || ! ( ) { } [ ] ^ " ~ * ? : \
    + и — внутри элемента обрабатываются как обычные символы.
    Для того, чтобы экранировать эти символы, используйте \ перед символом. Например, для поиска (1+1):2 используйте запрос:
    \(1\+1\)\:2
теги tags query syntax язык запросов
Re: Язык запросов выборки по тегам
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.12.16 14:20
Оценка:
Здравствуйте, der Igel, Вы писали:

На данный момент пока не актуально.
AVK Blog
tags
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.