Рубрики
Без рубрики

Реализация функции поиска по подстановочным знакам в ваших Java-приложениях

пост. С тегами java, indexing, api, groupdocs.

Индексация – это термин, вполне синонимичный поисковым системам в наши дни, однако, по определению, он относится к организации данных на основе определенной схемы. Другими словами, это процесс придания данным и информации более презентабельного вида, а также удобного доступа.

Расположение данных в индексе экономит ваше время и усилия при поиске или извлечении информации. Для перспективы рассмотрим книгу по космической науке, содержащую сотни страниц. Если в нем нет указателя, вам придется выполнять поиск по всей книге каждый раз, когда вы захотите просмотреть нужную информацию. Это был бы совершенно другой сценарий, если бы у этой книги был указатель, вы могли бы открыть именно ту страницу, на которой содержится информация, которую вы ищете.

Как программист, вы можете столкнуться с бизнес-требованием индексации данных в определенных типах документов. Это потребовало бы создания сложной схемы, позволяющей вам не только легко индексировать информацию, но и выполнять операции поиска там, где это необходимо. Добавьте к этому необходимость выполнять все это на платформе Java, и вам потребуется предложение API:

  • Поддержка многоформатных документов
  • Возможность создания нескольких индексов
  • Возможность нескольких типов поиска

Групповые документы. Search for Java – это уникальный API индексации, удовлетворяющий вышеупомянутым требованиям, предоставляя усовершенствованный набор функций и гибкую структуру. Это позволяет разработчикам приложений Java создавать и управлять несколькими индексами, а также использовать различные поисковые запросы, такие как простой, логический, регулярное выражение (regex) или нечеткий поиск.

Вы можете использовать смешанные символы с помощью этого Java API, который поможет вам использовать такие символы, как дефис, в качестве допустимых букв и разделителей при индексации. Опция поиска по подстановочным знакам – еще одна очень полезная функция этого API. Доступны две формы подстановочных знаков: один произвольный символ или диапазон произвольных символов с подстановочными знаками.

Следующий фрагмент кода показывает, как выполнить поиск по подстановочным знакам с помощью текстового запроса: //Создание индекса Index Index(Утилиты.INDEX_PATH,true); //Добавление документов в индекс index.add To Index(Утилиты. DOCUMENTS_PATH,true); //Поиск слов "влияет" или "эффект" в одном документе с "принципалом", "принципом", "принципами" или "главным образом" SearchResults.search("?ffect & princip?(2~4)"); //Поиск с помощью одного запроса по фразам "обеспечить равные возможности", "обеспечить равные возможности" и "обеспечить равные возможности" Результаты поиска.поиск("\"?(0~2) уверенные равные возможности\"");

А для поиска подстановочных знаков с помощью object обратитесь к приведенному ниже фрагменту кода: //Создание индекса Index Index(Утилиты.INDEX_PATH,true); //Добавление документов в индекс index.add To Index(Утилиты. DOCUMENTS_PATH, true); //Построение запроса 1 //Слово 1 в запросе является шаблоном '? ffect' для поиска по шаблону Шаблон Word Word Pattern(); Шаблон 11.appendOneCharacterWildcard(); шаблон 11.appendString("ffect"); SearchQuery.createWordPatternQuery(шаблон 11); //Слово 2 в запросе является шаблоном 'princip?(2~4)' для поиска по шаблону WordPattern WordPattern(); шаблон 12.appendString("принцип"); шаблон 12.appendWildcard(2, 4); SearchQuery.createWordPatternQuery(шаблон 12); //Создание логического поискового запроса Поисковый запрос.создание И запрос(подзапрос11, подзапрос12); //Поиск с помощью запроса 1 SearchResults.search(запрос 1, новые параметры поиска()); //Построение запроса 2 //Слово 1 во фразе - это шаблон "? (0~2)уверен" для поиска по шаблону Шаблон Word Шаблон Word(); Шаблон 21.appendWildcard(0, 2); шаблон 21.appendString("уверен"); SearchQuery.createWordPatternQuery(шаблон 21); //Слово 2 во фразе ищется с помощью разных словоформ ("равно", "равно", "одинаково" и т.д.) | Поисковый запрос.createWordQuery("равно"); subquery22.setSearchParameters(новые параметры поиска()); subquery22.getSearchParameters().setUseWordFormsSearch(true); //Слово 3 во фразе ищется с максимальными 2 различиями нечетких поиск SearchQuery.createWordQuery("возможности"); subquery23.setSearchParameters(новые параметры поиска()); subquery23.getSearchParameters().getFuzzySearch().setEnabled(true); subquery23.getSearchParameters().getFuzzySearch().setFuzzyAlgorithm(новая табличная функция(2)); //Создание поискового запроса по фразе Поисковый запрос.создать поисковый запрос по фразе(подзапрос21, подзапрос22, подзапрос23);

Проверьте все доступные функции самостоятельно сегодня – Проверьте все доступные функции самостоятельно сегодня –

Оригинал: “https://dev.to/groupdocs/implementing-wildcard-search-functionality-in-your-java-applications-3jc8”