問題タブ [containstable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - SQL Server、ISABOUT、加重項
SQL SERVER の ISABOUT クエリで加重用語がどのように機能するかを正確に理解しようとしています。
これが私が現在いる場所です:
各クエリは次の行を返します。
QUERY 1 (重み 1): 初期ランキング
QUERY 2 (重み 0.8): ランキングが上昇し、最初の順序が保持されます
QUERY 3 (重み 0.2): ランキングが上昇し、最初の順序が保持されます
クエリ 4 (重み 0.17): ランキングが下がり、最適な一致が最後になり、これらの用語の逆の動作が 0.17 から始まります
QUERY 5 (重み 0.16): ランキングが上昇し、ベストマッチが 2 番目になりました
QUERY 6 (重み 0.01): ランキングが下がり、ベスト マッチが最後に戻る
重み 1 のベスト マッチのランクは 249 で、重みが 0.2 に下がると、ベスト マッチのランキングは 998 に上がります。検索された列で... )
「この用語を含めないでください」のように、重量が反対を意味するポイントがあるようです。この動作について説明はありますか?体重が減るとランキングが上がるのはなぜですか?結果が逆転するまでランキングが下がるのはなぜですか? また、このポイントをどのように予測できますか?
ユーザーが次のクエリを作成する何かを検索するときに、カスタムの「ワード ブレーカー」を使用します。
0.1 ワードに大きなランクが期待できますか?
次のクエリは上記と同じですか? 0.1 ランキングで奇妙な動作が予想されますか?
sql-server-2008 - SQL Server 2008 と 2012 での CONTAINSTABLE の異なる結果
SQL Server 2008 と 2012 に 2 つの同一のデータベースがあり、それらのフルテキスト インデックス設定は同じです。しかし、 を実行するCONTAINSTABLE
と、非常に異なる結果が得られました。
2012 年と 2008 年でCONTAINSTABLE
はランクの計算方法が異なるようです。2 つの DB からの結果のランクは大きく異なるため、レコードのシーケンスも大きく異なります。
実際、属性「full_desc」には、値が「children」または「children's」のレコードがあり、これが理由である可能性があると推測しています。
しかし、テキスト '"children*"' についても一致させようとしましたが、2008 年と 2012 年の結果は依然として大きく異なります。ここでも、 によって返されるランク値CONTAINSTABLE
が異なります。
誰か助けてくれませんか?ありがとう。
sql - SQLのContainsTableは、完全一致の場合に低いランクを返します
「レーシングフレームがアップグレードされた赤い自転車」という名前の製品の場合、包含可能な検索では次のようになります。
私の質問は次のとおりです。
- 2番目の検索で1000ではなく255が返されるのはなぜですか?containstable以外のものを使用する必要がありますか?
- 私の最終結果を達成するためのより良い方法はありますか?
私が探している最終結果は、製品名をすばやく検索する方法です。テストでは、'tbl.col.field=""またはtbl.col.fieldlike'%%''を実行するよりも大幅に高速であり、全文検索を実行できるようにしたいため、containstableを使用することを選択しました。部分的および完全一致検索に加えて。
製品名の結果は他の結果と集約されています。たとえば、ユーザーが検索を実行すると、製品名と製品の説明の両方が検索され、結果が結合されます。このため、製品名の完全一致を最高ランクにしたいと思いますが、現在、説明の全文一致が製品名の完全一致を上回る場合があります。
検索タイプごとに複数のクエリを記述したり、ランク値をハードコーディングしたりしないようにしています。
sql - MS SQL Server で containstable を使用する場合は、アンパサンド (&) を検索します
オートコンプリート ドロップダウンリストでストアド プロシージャを使用して、クライアントのリストを取得しています。クライアントの中には、名前に「&」(アンパサンド) 記号が含まれているものがあります (例:「H&M」、「Marks & Spencers」など)。ユーザーは「&」記号で検索したいと考えています。
& 記号を直接使用すると、ワード ブレーカーとして使用され、「&」記号のあるリストは選択されません。
「&」を使用してテーブルを検索し、「&」記号を持つ値を取得する方法はありますか?
私が何をする必要があるかを説明する意味があることを願っています。
ご助力いただきありがとうございます!
sql - CONTAINSTABLE に「of*」を追加しても結果が返されない
SQL Server 2008 に含まれるクエリがあります。
これは予想どおり 1 つの結果を返しますが、ユーザーが検索条件に「of」を入力した場合、クエリは結果を返しません。
連絡帳のフルネームは「勤労年金課」です。
ユーザーが検索に「and」を含めた場合も同様です。これらの単語がクエリを壊しているのはなぜですか?それを回避する方法はありますか?それとも、検索を実行する前に単語を削除する必要がありますか?
sql - SQLの全文検索で二重引用符を検索する方法
キーワードに二重引用符があります。全文検索クエリでこれを検索するにはどうすればよいですか。このクエリがあります
正常に動作しますが、キーワードに二重引用符がある場合
このエラーが発生します
sql - contains と containstable の違いは?
技術的に同等である必要がある次のクエリがあります。
初め
2番
最初のものは正しい結果を返しますが、もう一方は何も返しません。
ここに欠けているものはありますか?
ありがとう!