問題タブ [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.

0 投票する
0 に答える
92 参照

wpf - Text Search in WPF ListView not working properly with selectionmode extended

I have a WPF ListView with selection mode set to Extended (and I need to keep it extended for other funationality). I have also enabled text search on this listview using TextSearch options.

Now consider I have following 5 items in ListView :

  • Apple
  • Ball ==> This is current selected item.
  • Cat
  • Dog
  • Elephant

At this stage, if I press key "E" on keyboard, the text search works properly and the item "Elephant" gets selected. However, if I press "Shift + E", all items from Ball to Elephant gets selected, i.e. Shift key is used for extended selection and not for Capital Letter E. However, since I am doing a search using keyboard, shouldn't the only item "Elephant" get selected and shift key should be used for capital E and not for extended selection? Can we somehow achieve this?

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

search - 特定の値を探す必要がある Web アプリケーションの検索アルゴリズム

ウェブサイトから html をダウンロードし、コードを反復処理して特定の変化する値 (この場合は製品の価格) を見つける必要がある webapp を開発しています。

このため、ユーザーに (インストールとセットアップ時に) ページ (価格がある) から数行の html をシステムに提供するように依頼することを考えていました。それらの行を検索して価格を見つけようとします。

現在、これは恐ろしく遅い方法だと思います。ルールがなく、html が Web サイトごとにまったく異なる可能性があるため (同じ Web サイトでも変更される可能性があります)、より良い方法を見つけることができませんでした。

私が考えた 1 つの改善点は、最初から繰り返し、コードを見つけた行を記録することでした。見つかったら、それ以降は予想される場所の数行前から検索を開始します。これを改善する方法について何か考えはありますか?

この質問をhttps://cstheory.stackexchange.com/に投稿しましたが、彼らはそれはトピックではなく、ここに投稿する必要があるとコメントしました。

上記のコードがあり、必要に応じて投稿できます。これを行うためのより良い、より高速な方法が必要だと単純に考えています。

0 投票する
0 に答える
334 参照

php - テキストを複数のテキストと比較し、一致する文を含むテキストを見つける

パッセージを複数 (数千またはそれ以上) の異なるパッセージと比較して、それらのパッセージの一部が最初のパッセージで正確に使用されているかどうかを確認できるようにしたいと考えています。

確認したい名前のパッセージがAあると想像して、他の何千ものパッセージからの文または文の一部が含まれているかどうかを確認します。

私は非常に非効率的な方法を考えましたが、これ以上の答えは思い浮かびません。私のやり方は、入力パッセージ ( ) から最初の 3 つの単語を読み取ることAです。次に、数千のテキストすべてのデータベースに完全に一致するものがあるかどうかを確認します。4-word一致するものがある場合は、それらをリストしてから、4 番目の単語を文字列に追加し、一致するリストの中から文字列に一致するものを見つけます3-word。文字列との一致がなくなるまでこれを行いn-wordます。のリストは(n-1)-word、この実行の結果として保存されます。次に、新しい3-word文字列はnth, となり(n+1)th(n+2)thドキュメントが終了するまですべてが再び開始されます。

これは、入力テキストが大きく、テキストを比較する巨大なデータベースの場合、非常に非効率的です。より良いアルゴリズムはありますか?

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

java - JenaText: RDF ファイルを照会するための作業例

Apache Jena Textが rdf ファイルで動作する公式の例を作成しようとしています。公式の例はここに示されています。

正直なところ、ドキュメントが少なすぎて、例が一般的すぎると思います。例として提供される実際のrdfファイルは提供されておらず、構成する必要のあるものがたくさんあります。この RDF ファイルを分析しようとしています。

- アップデート -

この質問へのコメントに記載されているように、公式の例で使用されているファイルを見つけました。

したがって、元の例と foaf.rdf ファイルを組み合わせて、次の ttl ファイルを定義しました。今、私はファイルを持っていますfoaf.ttl:

したがって、これまでに述べた元の Java ファイルに関して、メインに次のように設定しました。

私が持っているqueryData方法では:

そしてcreateCode()私は持っています:

結果は次のとおりです。

ただし、X1 はトリプルにも含まれていたと報告しています。

しかしB2、結果セットにはありません。「インデックスを定義する必要があります」と言う人もいるかもしれません。さて、非常に奇妙なことは、私が設定した場合createCode()

結果は変わりません!

では、の役割はEntityDefinition何ですか?私は何を間違っていますか?

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

java - Lucene テキスト検索のエラー

私はテキスト検索が初めてで、ルセンに関連するいくつかの例を研究しています。このリンクから例の1つを見つけました。http://javatechniques.com/blog/lucene-in-memory-text-search-example/ Eclipse IDE で試してみました。しかし、それはいくつかのエラーを与えます。関連するjarファイルもすべてインポートしました。

コードは次のとおりです。

public class InMemoryExample {

IndexWriter.MaxFieldLength.LIMITED);

ただし、次の行にいくつかの構文エラーが表示されます。

エラー 1:

IndexWriter writer = 赤で MaxFieldLength に下線を引く new IndexWriter(idx, new StandardAnalyzer(Version.LUCENE_48), IndexWriter.MaxFieldLength.LIMITED);

エラー 2: optimeze() に赤で下線を引く

ライター.optimize();

エラー 3: new IndexSearcher(idx) に赤で下線を引く

Searcher searcher = new IndexSearcher(idx);

エラー 4: 検索に赤で下線を引く

searcher.search(クエリ、コレクター);

これらのエラーを取り除くのを手伝ってもらえますか? とても助かります。ありがとう

変更されたコード:

public class InMemoryExample {

public static void main(String[] args) throws Exception{ // RAMDirectory を構築して、 // インデックスのインメモリ表現を保持します。RAMDirectory idx = 新しい RAMDirectory();

StandardAnalyzer(Version.LUCENE_48)); IndexWriter ライター = 新しい IndexWriter(idx, cfg);

これは出力です:

スレッド「メイン」の例外 java.lang.VerifyError: クラス org.apache.lucene.analysis.SimpleAnalyzer は最終メソッド tokenStream をオーバーライドします。(Ljava/lang/String;Ljava/io/Reader;)Lorg/apache/lucene/analysis/TokenStream ; java.lang.ClassLoader.defineClass1(ネイティブ メソッド)で java.lang.ClassLoader.defineClass(不明なソース)で java.security.SecureClassLoader.defineClass(不明なソース)で java.net.URLClassLoader.defineClass(不明なソース)で.net.URLClassLoader.access$100 (未知のソース) で java.net.URLClassLoader$1.run (未知のソース) で java.net.URLClassLoader$1.run (未知のソース) で java.security.AccessController.doPrivileged(Native Method) でjava.net.URLClassLoader.findClass(不明なソース) java.lang.ClassLoader.loadClass(不明なソース) で sun.misc.Launcher$AppClassLoader.

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

git - git commit 中に追加または編集したすべての TODO コメントを出力する方法

git バージョン管理されたプロジェクトのすべてのコミット内で追加または編集したすべての TODO コメントを一覧表示するにはどうすればよいですか? 他の人の TODO コメントは見たくありません。

出力には、実際TODO コメントを含むすべての行が表示されます。

コミット自体をリストするだけではありませんgit log -S TODO

0 投票する
5 に答える
6677 参照

git - 現在のすべての TODO メッセージを git リポジトリに一覧表示するにはどうすればよいですか?

git 管理されている現在のコード ベースに存在する、私だけが書いた TODO コメントをすべて表示したいと考えています。

これまでのところ、完全な git 履歴の中で作成または変更したすべての TODO コメントを出力しています。git log -p --author="My name" -S TODO | grep "\+.*TODO"

しかし、このツール チェーンには、これまでに作成されたすべての TODO コメントが一覧表示されます。これには、既に解決済みでコードから再度削除されたものも含まれます。

現在のコードベースを行ごとに検索し、「TODO」が含まれているかどうかを確認し、この行が私が作成したものであるかどうかを確認できる適切なツールチェーンは何ですか?

0 投票する
0 に答える
66 参照

sorting - 検索結果の並べ替え

フレーズ検索とキーワード検索を一緒に実装しています (おそらくこの種の検索には名前がありますが、わかりません)。たとえば、 I like turtlesという検索は次のように一致する必要があります。

つまり、文字列には一致するすべてのキーワードが含まれている必要があります。

次に、検索結果の並べ替えの問題が発生します。

単純に、一致が結果の先頭と元のクエリに最も近いほど、結果が優れていると想定しています。このコードをどのように表現できますか?

私の最初のアプローチは、元のクエリに基づいて、キーワードが予想される位置にどれだけ近いかに基づいて、各結果の各キーワードにスコアを割り当てることでした。擬似コード:

スコアが低いほど、結果は良好です。上記の例のスコアは十分にまともなようです。

これは、検索結果を並べ替えるための実行可能なアプローチですか?

あらゆる種類のセマンティック分析はさておき、それを改善するために他に何を検討できますか?

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

r - Rの可変引数高速テキスト検索機能

大きなdata.tableから次のサンプルデータがあります。

可変数のテキスト引数を送信できる関数を作成する必要があり、関数はデータに対して AND 検索を実行し、すべてのテキスト検索引数を持つすべての行を出力する必要があります。異なる検索文字列を異なる列に入れることができます。

たとえば、searchfn(ddf, 'brazil','third') は最後の行のみを出力する必要があります。

ケースは無視する必要があります。

データが大きいため、検索は高速で速度を最適化する必要があります (したがって、data.table を使用します)。

私は試した:

送信された検索文字列をすべてピックアップして検索番号を表示しますが、検索が適切ではありません。

0 投票する
0 に答える
710 参照

c++ - テキスト検索にアクセラレータ ctrl+F を追加

gtkmm テキストビュー プログラムに Ctrl+F アクセラレータを追加しようとしています。すでに検索機能を gtk Entry フィールドに実装しているので、必要なのは Ctrl+F が押されたときに検索エントリにフォーカスすることだけです。

私はググってgtkmmのチュートリアル/リファレンスをチェックしました(2.4、私はそれで作業しています)が、私が見つけた唯一のものはUIManagerを使用するメニューとツールバーとのコンテキストでのアクセラレータであり、私が使用する.ccファイルにはありません(それらを追加することはできません。既存のプログラムが原因です)。

ボタンに AccelKey を使用してアクションを追加しようとしたり、関数 add_accelerator() を試したりしましたが、適切に使用できませんでした (私は gtkmm にかなり慣れていないため、十分なサンプルがありません - 少なくとも私が理解できるものはありません) . ここで私が試したいくつかの例:

作成したボタン (ツールバー内) にこのアクションを追加する方法がわかりませんでした...

ここで何かを試しましたが、ここに入力する必要があるパラメーターも、このメソッドがどのように機能するかもよくわかりませんでした-機能しませんでした...

誰かがこれがどのように適切に機能するかを説明してくれたら本当に嬉しいです。私の下手な英語を申し訳ありません. 必要なものがあれば教えてください。前もって感謝します

ご挨拶

編集: gtk ソースを調べて、add_accelerator のパラメーターを理解しようとしました。今私はこれを試しましたが、まだ動作しません...:

アップデート:

さて、私は今考えているほとんどのことを理解しており、なぜそれがうまくいかないのかを知っています. 問題は、accel_group をウィンドウ ウィジェットに追加する必要があることですが、プログラムでスクロールされたウィンドウとボックスしか取得できませんでした....そして、続行する方法がわかりません... :)

更新 2:

「on_key_press_event」ハンドラーを使用して状態とkeyvalパラメーターをチェックすることで、アクセラレーターなしでそれを行うことができました。これが少なくとも一部の人に役立つことを願っています^^。

アクセラレータを使用したソリューションがあれば、まだ興味があります。ご挨拶