2

インデックス内の私のフィールドの 1 つに「起業家精神」という単語が含まれているとします。起業家という言葉を検索しても、そのドキュメントは見つかりません。しかし、起業家*はそうします。

検索テキストに単語トークンを含む単語を含むドキュメントをクエリで検索するモード/パラメータはありますか?

もう 1 つの例は、Matt を探しているときに、Matthew が含まれるドキュメントを見つけることです。

ありがとう

4

2 に答える 2

2

現在、すべての入力用語が接頭辞として扱われるモードはありません。探しているものに応じて、いくつかのオプションがあります。

  1. ターゲットの検索可能フィールドを言語固有のアナライザーに設定します。これは、言語学の観点から最も優れたオプションです。これを行うとき、言語に適している場合は、"run" と "running" などに役立つステミングを行います。「起業家」の特定のサンプルには役立ちませんが、一般的に言えば、これは想起に大きく役立ちます.

  2. 検索に送信する前に検索入力を分割し、すべてに " " を追加します。ターゲット言語に応じて、これは比較的簡単 (つまり、スペースがある場合) または非常に困難です。接頭辞は、それらを考慮して両方を検索しない限り、ステミングとうまく混合しないことに注意してください (例: search=aa bb -> (aa | aa ) (bb | bb*) のようなもの)。

  3. 提案に頼る。これは、シナリオに一致する場合と一致しない場合がある別の角度です。検索候補は、部分一致や接頭辞一致に優れており、ユーザーが適切な用語を見つけるのに役立ちます。詳細については、こちらをご覧ください。

于 2015-02-05T18:07:15.627 に答える
0

おそらくこのページは興味深いかもしれません..?

https://msdn.microsoft.com/en-us/library/azure/dn798927.aspx

search=[string]

オプション。検索するテキスト。searchFields が指定されていない限り、検索可能なすべてのフィールドがデフォルトで検索されます。検索可能なフィールドを検索する場合、検索テキスト自体がトークン化されるため、複数の用語を空白で区切ることができます (例: search=hello world)。任意の用語に一致させるには、* を使用します (これは、ブール フィルター クエリに役立ちます)。このパラメーターを省略すると、* に設定した場合と同じ効果があります。検索構文の詳細については、「Azure Search の単純なクエリ構文」を参照してください。

于 2015-02-05T15:37:25.480 に答える