問題タブ [full-text-indexing]

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.

0 投票する
1 に答える
1255 参照

mysql - WHERE/LIKEを使用する場合のインデックス/フルテキストのベストプラクティス

テーブル内の列をインデックスまたはフルテキストとして設定する必要がありますか?それらは、WHEREとWHERE..LIKEの両方を使用して検索されます。

どちらがベストですか?

0 投票する
1 に答える
305 参照

mysql - mysqlの一致/反対

この検索を使用しています

-> (c1, c2) を (ブール値モードの ">dg*") と照合します。

そして、私はこのリストを取得します

1dガス

2デジカ

3dgicb

4 デジ

5桁

6 dgly

7 dgc

8 dgse

これは合理的と思われます。

問題は、列 c1 にあることがわかっている「dgl」を取得できないことです。

したがって、「dgly」は取得しますが、「dgl」は取得しません。

これは紛らわしいと思います。ご意見をいただければ幸いです。ありがとう。

0 投票する
1 に答える
2123 参照

java - ドキュメントをインデックスに追加した後、Lucene IndexWriter を閉じるのを忘れていました

約 1 億 6000 万のテキスト ファイルの Lucene インデックスを構築するプログラムを 2 日間実行しました。プログラムが終了した後、インデックスを検索しようとしたところ、インデックスが正しく構築されていないことがわかりました。indexReader.numDocs() は 0 を返しました。インデックス ディレクトリ、それは良さそうに見えました。すべてのインデックス データがそこにあるように見えました。ディレクトリのサイズは 1.5 ギガバイトです。

コードを確認したところ、indexWriter.optimize() と indexWriter.close() を呼び出すのを忘れていたことがわかりました。インデックス全体を再構築する必要がないように、インデックスを re-optimize() できるかどうかを知りたいです。最初から?プログラムにさらに 2 日もかかりたくありません。

0 投票する
1 に答える
1707 参照

sql-server-2008 - SQLServer2008のインデックスの再入力「更新」オプション

EntryCatalogという名前の単一のカタログを作成しました。Entryという名前のテーブルをカタログに割り当て、[変更の追跡]が[自動]に設定されている[メモ]列​​と[タイトル]列(両方ともnvarchar max)を選択しました。

人口スケジュールオプションには何も入れませんでした。自動的に人口を増やし、一種の「それ自体を管理する」方法が必要だと考えました。したがって、エントリテーブルのFTIプロパティには、[アクション]チェックボックスがあります。これを確認し、(インクリメンタルまたはフルではなく)[更新]ラジオボタンを選択しました。ドキュメントには、「ベーステーブルのデータが変更されるたびにフルテキストインデックスが更新される」と記載されているためです。それが私が望んでいることだと思います...これは、エントリテーブルに挿入が行われるときに適用されますか?

たぶん私はFTIがどのように機能するかを根本的に誤解しています。このテーブルの2つの列にインデックスを付けるようにカタログを設定するだけで、新しいレコードが挿入されると、それらにも自動的にインデックスが付けられることを望んでいます。これを行うことはできますか、それとも何らかのスケジューリングオプションを設定する必要がありますか?それは本当に人口増加が何であるか?

ありがとうございました。

0 投票する
2 に答える
1275 参照

lucene - lucene *.cfs 数の増加

lucene のインデックスを更新するたびに *.cfs ファイル番号が _2.cfs、_5.cfs、_7.cfs と増加します。毎回。大丈夫ですか、それともコードでいくつかのオブジェクトを閉じるのを忘れていたのでしょうか?

0 投票する
1 に答える
141 参照

ruby-on-rails - thinktankとindextankを使用して関連モデルにインデックスを付ける方法

私たちはthinkingtankgemを使用しており、単純なものであっても、モデルの関連付けのインデックス作成に問題があります。たとえば、プロファイルは名前のある機関に属しています。次のようなことを行います。

しかし、それは機能しません。これは非常に単純である必要があります-私は何を間違っているのですか?

0 投票する
2 に答える
372 参照

algorithm - 自由形式のテキストに使用するインデックス付けアルゴリズム

私は、高速検索のために、自由形式のテキストにインデックスを付けるアプリの開発を任されています。これは死ぬまで研究されてきた分野だと確信しています。ただし、どこから始めればよいかわかりません。ご協力いただければ幸いです。

0 投票する
1 に答える
736 参照

django - django-haystack:インデックス付きDBではなく大きなSearchIndexを選択する

35個のフィールド(Char、Int、Bool、Dec、M2M、FK)を持つUserProfileモデルがあります。検索ビュー機能の一部として、フィールドの1つは全文検索を必要とし、残りの34フィールドは「高度な検索フィルタリング」を提供するために使用されます(__gte、__ lte、__ excat、__in、__ startswithを使用)。「検索」クエリでは、検索ビューの条件として5〜35個のフィールドを使用できます。

haystackを使用してSearchIndexを構築しており、現在35のフィールドすべてが追加されていますが、django ORM(?)をバイパスしているため、これは効果がないようです。

Filter Django Haystackからの回答はQuerySetのようになりますか?SearchIndexに単一の全文検索フィールドを格納し、残りの34個のフィルターフィールドに対してSearchQuerySetをdjangoのQuerySetと組み合わせることができることを示唆しています。次に、djangoモデルのこれらのフィールドの一部またはすべてでdb_index = Trueを使用しますか?この2段階のクエリマージアプローチを使用すると、何千もの結果にうまく対応できますか?

私のUserProfileモデルは300K〜2Mのエントリに成長する可能性があるため、このモデルにインデックスを付けるのに最適な方法を理解しようとしています。dbのインデックス作成と検索に慣れていないので、データベースを最適化するための最善の方法についての洞察を探しています。

0 投票する
1 に答える
406 参照

sql - SQL クエリが nvarchar 値を int に変換しようとするのはなぜですか? (CONTAINSTABLE() を使用)

全文検索を SQL Server 2008 R2 で動作させようとしています。私は管理者と協力しており、インデックスが正常に設定されたカタログがあると確信しています。今、フルテキスト関数を使用してインデックス付きテーブルをクエリしようとしています

これは問題なく動作します:

ただし、を使用してランク値を取得しようとするとcontainstable()、エラーが発生します。

エラー:

「概要」の値は、 という列にありますpagename。このエラーを解消する方法がわかりません。

何か助けはありますか?

0 投票する
1 に答える
854 参照

java - lucene の shingleanalyzerwrapper + standardanalyzer + indexreader を使用するにはどうすればよいですか?

この問題を解決できることを願っています。私がやろうとしていること: 適切なテキストが与えられた場合、ストップワードを含まない (つまり、ストップワードは既に削除されている) 語幹化されたすべてのトークン ngram の頻度をカウントしたいと考えています。

これが状況です:私はShingleAnalyzerWrapper + StandardAnalyzerを使用してIndexWriterでいくつかのテキストにインデックスを付けています.IndexWriterにドキュメントを追加するとき(このように:indexwriter.addDocument(doc、analyzer);アナライザーは再びShingleAnalyzerWrapper + StandardAnalyzerです)。

しかし、問題は次のとおりです。用語の頻度と用語を取得すると、ストップワードが下線に置き換えられているようです。

これが入力です:
String text = "to i want to to i want to linked";
文字列 text2 = "スーパー バイ バイ ハード 簡単";

これは出力です:
term: |freq:6
term:
_|freq:2
term:_ hard|freq:1
term:_ i|freq:2
term:_ link|freq:1
term:easy|freq:1
term :hard|freq:1
term:hard easy|freq:1
term:i|freq:2
term:欲しい|freq:2
term:link|freq:1
term:super|freq:1
term:super _|freq: 1
term:want|freq:2
term:want _|freq:2

ご不明な点がございましたら、お気軽にお問い合わせください。

助けてくれてありがとう