2017-02-21 18 views
1

「App Service」のような二重引用符でテキストを入力すると、検索ボックスが1つしかない晴れたウェブアプリケーションがありますが、「Appサービス」のレコードも表示されますが、 "App/Service"のような単語の間の文字。検索エンジンが検索フレーズと正確に一致するレコードを返すようにします(検索語の間に特殊文字を含むレコードは含めません)。Azure検索、完全一致のフレーズ一致

答えて

1

このシナリオでは、フィールドの内容全体を単一のトークンとして索引付けする必要があります。具体的にはCustom Analyzers in Azure Searchkeywordアナライザを見てください。

+0

こんにちは@Eugene、返信用のおかげで、そこではありませんそれらの間に特殊文字を持つレコードを無視する方法では、カスタムアナライザは実行可能ではないようです。 – harshu288

1

あなたのケースではstandardアナライザは、インデックス作成時に2つの個々の用語アプリサービスに用語アプリケーション/サービスを破ります。そのため、「App Service」という語句は、のApp/Serviceという文書と一致します。両方のバージョンが同じように検索エンジンに表示されます。

アプリケーション/サービスがフィールドの内容全体を構成する場合は、keywordアナライザーを使用して、そのフィールドの内容を単一のトークンとして索引付けすることができます。詳細はこちら:Custom Analyzers in Azure Search

のApp/Serviceという用語が文の一部として使用されている場合は、keywordアナライザは適切なオプションではありません。この場合、/文字をstandardトークナイザが分割しない別の文字(たとえば、_)に置き換えることができます。そのためmappping文字トークンフィルタを使用します。

charFilters: [ 
    { 
    "name":"map_char_mapping", 
    "@odata.type":"#Microsoft.Azure.Search.MappingCharFilter", 
    "mappings":[ "/=>_" ] 
    }  
] 

次のポストは、検索とインデックス作成時に適用される方法を字句解析理解するのに役立ちます:How to practially use a keywordanalyzer in azure-search?

関連する問題