2017-01-12 7 views
1

Мы сохраняем содержимое CMS в нашей базе данных Azure и должны индексировать некоторый HTML-контент из нашей базы данных.Индексирование содержимого HTML из базы данных Azure с помощью Azure Search

Каковы наилучшие методы для индексации этого в Azure Search, так что он индексирует только контент, а не HTML? Или, что индекс распознается как HTML, и будет игнорировать разметку HTML?

Я знаю, что для меня будет один способ манипулировать им, прежде чем он попадет в индекс или на его пути, но надеялся, что в Azure Search есть некоторые встроенные возможности.

ответ

0

В настоящее время Azure blob indexer является единственным индексом поиска Azure, который поддерживает синтаксический анализ HTML таким образом, который разделяет разметку HTML. Azure SQL indexer обрабатывает текст HTML как кусок текста.

У вас есть несколько возможных вариантов:

  1. Использование SQL индексатор и принимать HTML разметка индексируется - в зависимости от ваших документов, ваше качество поиска все еще может быть хорошо.
  2. Предварительно обработайте ваши данные и разделите разметку HTML, затем верните обработанный текст обратно в SQL (и используйте SQL-индексор) или указав API для перевода данных в индекс поиска.
  3. Храните данные HTML в хранилище blob и используйте индексный указатель blob для индексации данных HTML, продолжая использовать индекс SQL для индексации остальной части данных. Несколько индексов могут записывать в один и тот же индекс поиска, фактически «собирать» документы из нескольких источников данных.
0

Вы можете попробовать с помощью Custom Analyzer с пользовательским фильтром Char.

Char Filters может быть использован для «чистого» входа либо с отображения или шаблоном замены (Regular Expression).

Образец заменяет его внутренне с помощью PatternReplaceCharFilter.

Пожалуйста, имейте в виду, что сложные выражения будут, вероятно, следствием более длительного времени индексирования.