問題タブ [full-text-search]
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.
database-design - タグ付け、クラウド、検索に最適なデータアーキテクチャ(StackOverflowなど)?
Stack Overflowのタグ付けと検索がどのように設計されているかを知りたいのですが、それはかなりうまく機能しているようです。
次のすべてを実行したい場合、優れたデータベース/検索モデルは何ですか。
- さまざまなエンティティへのタグの保存(どのように正規化されていますか?つまり、Entity、Tag、およびEntity_Tagテーブル?)
- 特定のタグが付いたアイテムの検索
- 特定の検索結果セットに適用されるすべてのタグのタグクラウドを構築する
- 検索結果の各アイテムのタグリストを表示するにはどうすればよいですか?
おそらく、タグを正規化された形式で格納することは理にかなっていますが、#2、#4、およびおそらく#3の目的でスペース区切りの文字列としても格納することは理にかなっています。考え?
StackOverflowは検索にLuceneを使用していると聞いています。本当?SQLの最適化について議論しているポッドキャストをいくつか聞いたことがありますが、Luceneについては何も聞いていません。彼らがLuceneを使用している場合、検索結果のどれだけがLuceneからのものであり、「ドリルダウン」タグクラウドがLuceneからのものであるかどうか疑問に思います。
mysql - 全文検索の関連性は?で測定されます
私はクイズシステムを作成しています。クイズ作成者が質問バンクに質問を挿入するとき、重複した/非常に類似した質問がないかDBをチェックします。
MySQLのMATCH()... AGAINST()をテストすると、100%類似した文字列に対してテストした場合、得られる最高の関連性は30以上です。
では、関連性は正確には何ですか?マニュアルを引用するには:
関連性の値は、負でない浮動小数点数です。関連性がゼロの場合、類似性がないことを意味します。関連性は、行の単語数、その行の一意の単語数、コレクション内の単語の総数、および特定の単語を含むドキュメント(行)の数に基づいて計算されます。
私の問題は、文字列が重複している場合に関連性の値をテストする方法です。100%重複している場合は、QuestionBankに挿入されないようにします。しかし、それが非常に似ている場合は、クイズメーカーに確認、挿入するかどうかを尋ねます。では、どうすればよいですか?100%同一の文字列の30+はパーセンテージではないので、私は切り株です。
前もって感謝します。
sql-server - フルテキスト インデックス作成のために SQL Server で使用されるランキング方法
SQL Server の全文検索で使用されるランキングに問題があります。
ユーザーが「foo bar」という 2 つの単語を検索するとします。ユーザーが OR 検索を行うことを想定しているため、「foo OR bar」を CONTAINSTABLE 呼び出しに渡します。私たちが見つけたのは、「foo」を 10 回含むが「bar」を含まない行は、「foo」と「bar」の両方を含む行よりもはるかに高いランクになるということです。両方の用語を含む行を、1 つの用語のみを複数回含む行よりも優先する必要があります。これを達成する方法について何かアドバイスはありますか?
RANKMETHOD 修飾子に関連するドキュメントを見つけましたが、これは SQL Enterprise 検索専用のようで、通常の SQL Server 2005 インストールでは利用できません。Lucene.Net に切り替えることもできますが、より良いランキングが利用できることを確認したいと考えています。複数の検索を行って結果をマージすることもできますが、検索される単語の数が増えると望ましくないように思えます。
ruby-on-rails - Thinking Sphinx 検索に「IS NOT NULL」という条件を追加するにはどうすればよいですか
このビデオに従って、Thinking Sphinx を全文検索に使用しています。
私は次のことをしたいと思います:
問題は、これが機能しないことです。検索方法はハッシュである条件のみを受け入れるようです。いくつかの方法を試しましたが、「published_at IS NOT NULL」をハッシュとして表現する方法がわかりません...
sql-server-2005 - SQL Server 2005 でビューにフルテキスト インデックスを作成する
SQL Server 2005 でビューにフルテキスト インデックスを作成する際に問題があります。ドキュメントを確認しましたが、問題は見つかりませんでした。表示されるエラー メッセージは次のとおりです。非決定論的または不正確な非永続化計算列で定義されておらず、最大サイズは 900 バイトです。フルテキスト キーには別のインデックスを選択してください。」「オフライン」要件を除いて、エラー文字列のすべての要件を確認できましたが、それが何を意味するのかよくわかりません。私はそれがオフラインではないことを確信しています。
以下のターゲットテーブル、ビュー、およびインデックスを作成するスクリプトがあります。以下のサンプルでは、実際にはビューは必要ありません。問題を切り分けようとして簡略化されています。
sql-server-2005 - SQL Server 2005 で PDF ファイルの全文検索を使用する
SQL Server 2005 で PDF ファイルのインデックスを作成する際に奇妙な問題が発生しました。誰かが助けてくれることを願っています。私のデータベースには、MediaFileId int identity pk、FileContent image、および FileExtension varchar(5) というフィールドを持つ MediaFile というテーブルがあります。問題なくこのテーブルにファイルの内容を保存する Web アプリケーションを持っており、問題なく doc、xls などの全文検索を使用できます - 動作しない唯一のファイル拡張子は PDF です。このテーブルで全文検索を実行して、テーブルに保存された PDF ファイル内に存在することがわかっている単語を検索すると、これらのファイルは検索結果に返されません。
OSはWindows Server 2003 SP2で、Adobe iFilter 6.0をインストールしています。このブログエントリの指示に従って、次のコマンドを実行しました。
この後、SQL Server を再起動し、次のコマンドを実行して、PDF 拡張機能の iFilter が正しくインストールされていることを確認しました。
これにより、正しいように見える次の情報が返されます。
document_type: .pdf
パス: C:\Program Files\Adobe\PDF IFilter 6.0\PDFFILT.dll
次に、MediaFile テーブルにインデックスを (再) 作成し、インデックスを作成する列として FileContent を選択し、そのタイプとして FileExtension を選択しました。ウィザードはインデックスを作成し、正常に完了します。テストするために、次のような検索を実行しています。
これにより、この用語を含む DOC ファイルが返されますが、PDF ファイルは返されませんが、テーブルにはhouseという単語を含む PDF ファイルが確実に存在することがわかっています。
ちなみに、上記の検索で正しいPDFファイルが返された数分間、これが機能するようになりましたが、明らかな理由もなく再び機能しなくなりました.
Adobe iFilter がインストールされ、読み込まれているように見えますが、SQL Server 2005 が PDF のインデックス作成を停止している原因について何か考えはありますか?
sqlite - モバイルデバイスでの全文検索?
まもなく、新しいモバイル アプリケーションの開発に着手します。この特定のアプリは、テキスト ベースのフィールドの大量の検索に使用されます。モバイル プラットフォームでこれらのタイプの検索を可能にするのに最適なデータベース エンジンの種類について、グループ全体からの提案はありますか?
詳細には Windows Mobile 6 が含まれており、.Net CF を使用します。また、一部のテキスト ベースのフィールドは 35 ~ 500 文字です。デバイスは、バッチと WiFi の 2 つの異なる方法で動作します。もちろん、WiFi の場合は、本格的な DB エンジンにリクエストを送信し、結果をフェッチするだけです。この質問は、デバイスのフラッシュ/リムーバブル ストレージ カードに関する情報がロードされたデータベースを格納する「バッチ」バージョンを中心にしています。
いずれにせよ、SQLCE にはいくつかの基本的な索引付けがあることは知っていますが、本格的なバージョンを取得するまでは、本格的な「全文」スタイルの索引を使用することはできません。
データがどのように見えるかの例:
「エプロンカーペンター 調節可能なレザーコンテナポケット ウエスト金具ベルト」など
他の特定のオプションの評価にはまだ入っていません。最初にいくつかの特定の手段を指摘するために、このグループの経験を活用したいと考えているからです。
提案/ヒントはありますか?
sql-server - SQL Server 全文索引用語の取得
Lucene を使用すると、インデックス内に含まれる用語、つまり、インデックス内のドキュメントに含まれる、ストップ ワードを除く一意の語幹抽出された単語を取得できます。これは、特にオートコンプリートの提案を生成するのに役立ちます。MS SQL Server のフルテキスト インデックスで同様のことが可能ですか?
.net - Word 文書内のテキストの各ページを (.NET を使用して) 個別に取得するにはどうすればよいですか?
キーワードが出現する Word 文書のページを特定する必要があります。ドキュメントのテキストを取得できるツールがいくつかありますが、テキストがどのページにあるかを知るツールはありません。誰かが私にとって良い出発点を持っていますか? 私は.NETを使用しています
ありがとう!
編集: 追加の制約: 相互運用機能は使用できません。
edit2:これを行うことができる安定したライブラリを知っている人がいれば、それも役に立ちます。私は Aspose を使用していますが、私が知る限り、それには何もありません。
mysql - MySQL 全文特殊文字の処理
ブール値モードで MySQL 全文検索を使用する場合、演算子として使用される + や - などの特定の文字があります。「C++」などを検索すると、+ が演算子として解釈されます。これらの特殊文字を処理するためのベスト プラクティスは何ですか?
私が現在使用している方法は、データ内のすべての + 文字を _plus に変換することです。また、&、@、/、および # 文字をテキスト表現に変換します。