0
Solr Version: 6.3.0
Cloud: Yes
Shards: Single(1)
Data Size: 50GB
Records: 12M
特定のコレクションから関連IDを検索しようとするSolr Joinクエリがあります(はい自己結合)。これにより、パフォーマンスが低下しています。Solr結合パーサーのパフォーマンスの問題
Solrは上記のqフィルタに関係なくfrom_fieldからすべての項をスキャンしてからto_field項と交差しようとします。 Joinパーサのto_fieldと交差する前に、solrに条件をフィルタリングするよう求めることができる方法はありますか?
私たちは、与えられたsolrフィールドの約9Mの言葉を持っています。これは、パフォーマンスヒットの原因と思われます。
"join": {
"{!join from=from_field to=to_field fromIndex=insight_pats_1_shard1_replica1}to_field: \u0001\u0000\u0000\u0000\u0000\u0000\u0003X\u0002H": {
"time": 16824,
"fromSetSize": 1,
"toSetSize": 0,
"fromTermCount": 8561723,
"fromTermTotalDf": 8561723,
"fromTermDirectCount": 8561505,
"fromTermHits": 0,
"fromTermHitsTotalDf": 0,
"toTermHits": 0,
"toTermHitsTotalDf": 0,
"toTermDirectCount": 0,
"smallSetsDeferred": 0,
"toSetDocsAdded": 0
}
},
"rawquerystring": "*:*",
"querystring": "*:*",
"parsedquery": "(+MatchAllDocsQuery(*:*))/no_coord",
"parsedquery_toString": "+*:*",
"explain": { },
"QParser": "ExtendedDismaxQParser",
"altquerystring": null,
"boost_queries": null,
"parsed_boost_queries": [ ],
"boostfuncs": null,
"filter_queries": [
"account_ids:1",
"{!join from=from_field to=to_field fromIndex=insight_pats_1}to_field:7733576"
],
"parsed_filter_queries": [
"account_ids:1",
"JoinQuery({!join from=from_field to=to_field fromIndex=insight_pats_1_shard1_replica1}to_field: \u0001\u0000\u0000\u0000\u0000\u0000\u0003X\u0002H)"
]