問題タブ [booleanquery]

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 に答える
1021 参照

lucene.net - Lucene.Net:MultiFiledQueryParserをBooleanQueryに変換するにはどうすればよいですか?

これは、マルチフィールドクエリを実行する現在のコードです

これをどうやってやるのかよくわかりません。ブールクエリを実行して2番目のフィルターを含めることができるように変更するにはどうすればよいですか?

注:次のようなフィールドで検索できるようにする必要があります

ユーザー:ユーザー名
場所:ドイツ
など

以前に厳密にブールクエリを試しましたが、上記の検索用語を使用できませんでした。どこが間違っていたのかわからない。

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

algorithm - lucene ブール検索

lucene が次のようなブールクエリに一致するドキュメントを見つける方法を知りたい: "+a +b c"、そのアルゴリズムは何ですか?

ありがとう

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

c# - TermQueryを使用したluceneブールクエリ?

私は次のコードを得ました:

そして人生は良かった。私が気付くまで、私もNotActive. だから私は自分自身に言いました、わかりました、問題ありません、次のように for ループの直後に mainQuery に別のクエリを追加しましょう:

残念ながら、これは機能しません。誰でもこれを行う正しい方向に私を向けることができますか? 私はフィルターについて読んだことがありますが、それを適用することさえできましたが、スコアを失います (まあ、実際に失うわけではありませんが、元のクエリから離れています)。についても読みましTermQueryWrapperたが、それを実装する方法を見つけることができませんでした(正しい方向に見えても、それが必要かどうかはわかりません)。

編集:言及するのを忘れていました。すべてのフィールドfieldsが分​​析されてStateProperties.IsActiveNOT_ANALYZEDます。

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

java - ブール検索構文を使用して Java 文字列マッチングを行う方法は?

ユーザークエリとテキストを受け取り、一致するかどうかを返す Java/Scala ライブラリを探しています。

Twitter ストリームなどの情報ストリームを処理していますが、バッチ処理を使用する余裕はありません。Lucene RAMDisk を介してインデックスを作成し、後でクエリを実行する代わりに、各ツイートをリアルタイムで評価する必要があります。

ANTLRを使用してパーサー/レクサーを作成することは可能ですが、これは非常に一般的な使用法であるため、以前に誰もライブラリを作成していないとは信じられません。

私が必要としているものを正確に実行するTextQuery Rubyライブラリのいくつかのサンプル:

Ruby に実装されると、私のプラットフォームには適していません。また、ソリューションのこの時点で JRuby を使用することはできません。

同様の質問を見つけましたが、答えを得ることができませんでした: Boolean Query / Expression to a Concrete syntax tree

ありがとう!

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

python - Python を使用してツリーを構築する

ランク付けされていないブール検索を実装しようとしています。このためには、ツリーを構築し、DFS を実行してドキュメントを取得する必要があります。リーフ ノードはありますが、ツリーを構築するのが困難です。

例: query = OR ( AND (マリア・シャラポワ) テニス)

結果:

DFS を使用してツリーをトラバースし、特定のドキュメント ID に相当するブール値を計算して、コーパスから必要なドキュメントを識別します。誰かがPythonを使用してこれを設計するのを手伝ってくれますか? クエリを解析し、今のところリーフ ノードを取得しました。

編集:私はここに新しいので、明確さを欠いて申し訳ありません。私は基本的に非常に素朴な検索エンジンを構築しようとしています。したがって、ユーザーは OR ( AND (マリア シャラポワ) テニス) のようなブールクエリを入力します。入力したクエリに応じてユーザーに表示されるウィキペディア ドキュメントのコーパスがあります。

これまで、クエリを解析して個々の演算子 (OR、AND など) を取得しました。そして、個々の検索用語 (マリア、テニスなど)。解析用のコードは、基本的にすべての演算子とクエリ用語を入力どおりにグループ化する単なる関数です。すなわち、(マリア・シャラポワ)、(テニス)、OR、AND。ツリーのボトムアップを作成するために、この関数をこのように解析しました。ここで、テニス、マリア、シャラポワなどの対応するキーワードの転置リストを使用して、転置リストを使用してブール演算を実行し、特定の「documentid」を取得します。次に、この documentid が API に渡され、API が正しいウィキペディア ページを取得します。

トピックをより詳細に説明するために、私の問題の詳細については、このドキュメントを参照してください: http://www.ccs.neu.edu/home/jaa/CSG339.06F/Lectures/boolean.pdf

0 投票する
3 に答える
44414 参照

boolean-logic - ブール代数:それを証明する

私はブール代数で次の問題に問題を抱えていました。

A + A'B = A + B

上記のセクションを証明する必要があります。私はそれがすでに減少していることを意味します私はそれをさらに減らすことはできません。

0 投票する
4 に答える
832 参照

php - PHP !$a と $a の違い === false

重複の可能性:
!$page == false または $page in php?

これら 2 種類のチェックの違いは何ですか? そして、失敗して false を返す関数またはメソッドと呼ばれる型チェックの正しい方法はどれでしょうか?

また

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

javascript - 今月を返すようにGoogleニューススクリプトを調整する

このGoogleニューススクリプトを調整するには、変数を使用して、現在の年と月をブール検索に配置します。具体的には、「tabbed.execute(...?」で始まる行)を調整します。

私の最終的な目標は、このスクリプトが現在の年と月のコンテキストで検索語を返すようにすることです。初心者を助けてくれてありがとう!

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

c# - Lucene.NET 3.0.3のBooleanQueryが何も返さないのはなぜですか?

Lucene.NET 3.0.3を使用して2つのフィールド(「Noidung」、「Dapa」という名前の2つのフィールドがあります)を検索しています。BooleanQueryこれを作成するためにC#で使用していますが、このコードを実行しても何も返されません。結果として、私はそれをテストしたので、検索するソースに何も問題がないと確信しています。では、Lucene.NET 3.0.3を使用している人が説明を提供できますか?


インデックスに2つのフィールドがあります( "Noidung"、 "Dapa")。ここで、フィールド「Noidung」を検索し、結果を取得して「Dapa」で検索します。booleanQueryを使用しましたが、結果に何も返されませんか?助けて?

0 投票する
3 に答える
376 参照

mysql - mysql の結果に対するブール演算

私は3つのMysqlテーブルを持っています:

[ブロック値]

  • id_block_value
  • file_id

[メタデータ]

  • id_metadata
  • メタデータ名

[メタデータ値]

  • メタ ID
  • 価値
  • blockvalue_id

これらのテーブルには、ペアがあります: metadata_name=value そして、ペアのリストはブロック ( id_block_value)に入れられます

(A)高さ = 1080 が必要な場合:

(B)ファイル拡張子 = mpeg が必要な場合:

しかし、私が望むなら:

  • AとB
  • AまたはB
  • BではなくA

じゃあ何が一番いいのかわからない。

についてA or Bは、どれがうまくいくか試しA union Bてみました。

についてA and Bは、Mysql にはないのでintersect、試しA and file_id in(B)てみましたが、perfs を見てください (>4mn)...

私も試してみB and file_id in(A)ましたが、どちらの方がはるかに優れていますが、どちらを最初に置くべきかわかりません。

それで... 私は今何をしますか?ブール演算のより良い方法はありますか? ヒントはありますか?私は何か見落としてますか?

編集:データはどのように見えますか:

このデータベースには、FILE挿入された各オーディオ/ビデオ ファイルのテーブルの行が含まれています。

  • 10、/path/to/file.ts
  • 11、/path/to/file2.mpeg

METADATA表には、潜在的な情報ごとに行があります。

  • 301、高さ
  • 302、ファイル拡張子

次に、BLOCKテーブルの行でコンテナーを定義します。

  • 101、ビデオ
  • 102、オーディオ
  • 104、一般

ファイルにはメタデータの複数のブロックを含めることができ、BLOCK_VALUEテーブルには BLOCKS のインスタンスが含まれます。

  • 402、101、10 // ビデオ 1
  • 403、101、10 // ビデオ 2
  • 404, 101, 10 // ビデオ 3
  • 405、102、10 // オーディオ
  • 406、104、10 // 一般

この例では、ファイル 10 に 5 つのブロックがあります: 3 つのビデオ (101) + 1 つのオーディオ (102) + 1 つの一般 (104)

値は次の場所に格納されますMETADATA_VALUE

  • 302, 406, "ts" // ファイル拡張子、一般
  • 301, 402, "1080" // 高さ, ビデオ 1
  • 301, 403, "720" // 高さ, ビデオ 2
  • 301, 404, "352" // 高さ, ビデオ 3