「||」で区切られたキーと値のペアを格納するために使用する EDM.string フィールドがあります。とコンマ。例えば:
{
"CustomField": "1234|||student, 5678||blue, 999||metallica, etc..."
}
キーと値の組み合わせを抽出するクエリを実行する必要があります。例えば:
search=5678 blue&searchFields=CustomField&searchMode=all&queryType=full
正規表現を使用して、次のように動作することを期待していました。
search=/5678.*blue/&queryType=full&searchMode=all
デフォルトのアナライザーを使用しているため、「||」を無視しているようです。正規表現を使用してみましたが、成功しませんでした。EDM.Collection(string) に格納せずに、キーと値のペアでクエリを実行できますか? 新しい再インデックス プロセスは避けたいと思います。前もって感謝します。
アップデート
コレクションと新しいデータセットの使用:
{
"@odata.context": "https://[service].search.windows.net/indexes('[index]')/$metadata#docs",
"@odata.count": 3,
"value": [
{
"@search.score": 0.45867884,
"uniqueid": "5",
"Name": null,
"Kvp": [
"1234||sepultura",
"999||programmer",
"876||no education"
],
"Kvp2": "1234||sepultura, 999 programmer, 876||no education"
},
{
"@search.score": 0.38223237,
"uniqueid": "1",
"Name": null,
"Kvp": [
"1234||metallica",
"999||horse education",
"876||high school"
],
"Kvp2": "1234||metallica, 999 horse education, 876||high school"
},
{
"@search.score": 0.38223237,
"uniqueid": "3",
"Name": null,
"Kvp": [
"1234||john mayer",
"999||kid education",
"876||university"
],
"Kvp2": "1234||john mayer, 999 kid education, 876||university"
}
]
}
私の検索クエリは次のようになります。
Kvp: education&$count=true&queryType=full&searchMode=all
問題は、uniqueid 5 が取得されないようにしたいということです。タグの 1 つの値として「教育」がありますが、999 キーではありません。
また試しました:
Kvp: 999||education&$count=true&queryType=full&searchMode=all
Kvp: /.*999.*/ AND /.*education.*/&$count=true&queryType=full&searchMode=all
Kvp: /999.*education/&$count=true&queryType=full&searchMode=all