CJKBigramFilter(outputUnigrams=true) が MultiPhraseQuery に展開されない原因

トピック作成者:ks-solruserml-bot (2025/03/01 22:56 投稿)
2
(The bot translated the original post https://lists.apache.org/thread/vql9fvjmg83l3829lxmsh7kg2p62v0kq into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)
こんにちは、
Solr 9 で CJKBigramFilter(outputUnigrams=true)
を使用した際に、フレーズクエリが MultiPhraseQuery
に展開されない問題についてですが、これは仕様の変更によるものなのでしょうか?
詳細
フィールド定義:
<field name="city" type="text_bigram" indexed="true" stored="true" multiValued="true" />
<fieldType name="text_bigram" class="solr.TextField">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.CJKBigramFilterFactory" outputUnigrams="true"/>
</analyzer>
</fieldType>
検索クエリ:q=city:"東京"
(「東京」は「Tokyo」の漢字表記)
動作の違い
Solr 4.10.4 の場合:
"debug": {
"rawquerystring": "city:"東京"",
"querystring": "city:"東京"",
"parsedquery": "MultiPhraseQuery(city:"(東 東京) 京")",
"parsedquery_toString": "city:"(東 東京) 京"",
}
ここでは MultiPhraseQuery(city:"(東 東京) 京")
として正しく展開されている。
Solr 9.4.0 の場合:
"debug": {
"rawquerystring": "city:"東京"",
"querystring": "city:"東京"",
"parsedquery": "PhraseQuery(city:"東 京") city:東京",
"parsedquery_toString": "city:"東 京" city:東京",
"QParser": "LuceneQParser"
}
ここでは PhraseQuery(city:"東 京")
になり、 MultiPhraseQuery
ではなくなっている。
この仕様変更に関する情報があれば教えていただけると助かります。
よろしくお願いします。
Mingchun
トピックへ返信するには、ログインが必要です。