2017-10-28 9 views
1

私はBLOBストレージがHTMLコンテンツの索引付けをサポートする唯一のデータソース(これまで)であることを知っています。紺碧の検索インデックスhtmlのコンテンツ

私の質問は、ドキュメントをREST経由でインデックスに追加する前に、カスタムアナライザとcharfilter 'html_strip'(azure docsに記載されています)を使用してコンテンツを取り除くことができますか?ここで

は私のインデックスペイロードを作成されています。ここでは

{ 
     "name": "htmlindex", 
     "fields": [ 
     {"name": "id", "type": "Edm.String", "key": true, "searchable": false}, 
     {"name": "title", "type": "Edm.String", "filterable": true, "sortable": true, "facetable": true}, 
     {"name": "html", "type": "Collection(Edm.String)", "analyzer": "htmlAnalyzer"} 
     ], 
     "analyzers": [ 
     { 
     "name": "htmlAnalyzer", 
     "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", 
     "charFilters": [ "html_strip" ], 
     "tokenizer": "standard_v2" 
     } 
     ] 
    } 

は私の追加文書がインデックスペイロードにある:私はインデックスを検索する際

{ 
     "value": [ 
     { 
      "id": "1", 
      "title": "title1", 
      "html": [ 
      "<p>test1</p>", 
      "<p>test2</p>" 
      ] 
     } 
     ] 
    } 

は今、私は、HTMLコンテンツが取り除かれていない参照します:

{ 
     "@odata.context": "https://deviqfy.search.windows.net/indexes('htmlindex')/$metadata#docs", 
     "value": [ 
      { 
       "@search.score": 1, 
       "id": "1", 
       "title": "title1", 
       "html": [ 
        "<p>test1</p>", 
        "<p>test2</p>" 
       ] 
      } 
     ] 
    } 

私は間違っていますか?私はそれを追加する前にどのようにコンテンツからhtmlを取り除くことができますか?前処理なし。

答えて

0

したがって、カスタムアナライザ(および関連する文字フィルタ)は、テキストをトークン化する前に実行できるオプションの手順です。これらのアナライザは、フルテキスト検索をより容易にするのに役立ちます。

Azure検索には、REST APIを使用してドキュメントをインデックスにプッシュするときに、インデックス登録するドキュメントの内容を変更するメカニズムがありません。アナライザーは、検索インデックスに格納されている文書から用語を抽出するために、自分で行う必要があります。

ここ

詳細あなたが興味を持っている場合:HTMLファイルとBLOBストレージコンテナのインデックスを作成するデータソースの追加https://docs.microsoft.com/en-us/azure/search/search-lucene-query-architecture

+0

は、マークアップからのコンテンツを分離することができます。これはどのように達成されますか?それが不可能な場合。 –

+0

BLOBからデータを索引付けしようとすると、特定のコンテンツ抽出ツールを実行して、HTMLを取り除くか、またはオフィスのファイル、PDFなどからテキストを読み取ることができます。これは、実際のブロブが変更されていないため、非破壊的な意味での「前処理」ステップです。 REST APIを使用してデータをインデックスにプッシュする場合、「元の」ドキュメントという概念がないため、実際のドキュメントは変更されません。 Blobストレージを使用するのが適切な選択肢ではない理由を具体的に教えてください。おそらく私があなたのシナリオをよりよく理解すれば、可能ならば代替案を見つけることができますか? –

関連する問題