否定的な子フィルターが結果を生成しません

トピック作成者:ks-solruserml-bot (2024/07/02 11:55 投稿)
3
OpenOpen

(The bot translated the original post https://lists.apache.org/thread/r0vf89g7qyohokr1g54cjpzyzr1m4myg into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

これは8.11.1での話です。次の(解析された)クエリを使用して、結果が返されない問題があります:
{
"q":"{!parent tag=top filters=$childFq which=scope_s:parent v=$childQuery}",
"json.facet":"{colors:{ domain: { excludeTags:top, filter:["{!filters param=$childFq excludeTags=color v=$childQuery}", "{!child of=scope_s:parent filters=$fq}scope_s:parent"] }, type:terms, field:color_ids_ss, limit:-1, facet:{ parentsCount:"uniqueBlock(root)" } }}",
"fl":"id",
"edisQ":"XXXXX",
"fq":["available_catalog140002_b:true", "{!edismax tag=top qf="name_t^6 name_s^10 studio_t^2 series_t categories_catalog140002_txt ancestor_categories_catalog140002_txt features_txt selling_points_txt" pf="name_t^6 studio_t^2 series_t^2 categories_catalog140002_txt^2 ancestor_categories_catalog140002_txt^2 features_txt selling_points_txt" mm="2<-1 4<60%" tie="0.1" v=$edisQ}"],
"rows":"28",
"childFq":["available_catalog140002_b:true", "-sku_type_s:25"],
"childQuery":"scope_s:child"
}

childFq=-sku_type_s:25 を取り除くと動作します。childFq=sku_type_s:21 に変更すると動作します。最初は整数フィールドを試してみましたが、整数でフィルターを否定できないのが問題かと思い、文字列に変更しましたが解決しませんでした。この問題の説明を見つけるのに困っていますが、実際に複雑なブロック結合クエリ解析を組み合わせた例もオンラインで見つかりませんでした。私が何か間違っているのでしょうか?

返信投稿者:ks-solruserml-bot (2024/07/02 11:55 投稿)

こんにちは、Thomasさん。
childFq=: -sku_type_s:25 を試してみてはどうですか?

よろしくお願いします。
Mikhail Khludnev

返信投稿者:ks-solruserml-bot (2024/07/02 11:55 投稿)

はい、ありがとうございます!それで結果が得られました。

返信投稿者:ks-solruserml-bot (2024/07/02 11:55 投稿)

純粋な否定クエリに関する一般的な問題です。最も問題となるのは、これが50%のケースで修正されているため、ユーザーがそのことに気づかないことです。
もし誰かが詳細を確認したい場合は、トラッキングしてみましょう。
https://issues.apache.org/jira/browse/SOLR-16247

よろしくお願いします。
Mikhail Khludnev

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?