Solrのクエリ解析: コメント内に終了していないコメントがあると、期待通りに動作しない

トピック作成者:ks-solruserml-bot (2024/10/07 17:04 投稿)
2
OpenOpen

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

Solrのクエリ解析で、コメント内に終了していないコメントがある場合、期待通りに動作しません。未終了のコメントがあると、それ以降の単語がコメントとして扱われてしまいます。

例:

  • samsung /* Motorola iphone */ --> 期待通り動作
  • samsung /* motorola /* iphone */ ) --> 期待通りに動作せず。閉じ括弧 ) が無視される。
  • ( samsung /* motorola /* iphone */ nokia ) --> 期待通りに動作せず。開始括弧 ( により、閉じ括弧 ) が無視され、全体がコメントとして読み取られる。

これはバグなのでしょうか?

バージョン情報:

  • Solr-spec 8.11.1
  • Lucene-spec 8.11.1
返信投稿者:ks-solruserml-bot (2024/10/07 17:05 投稿)

もし実際の括弧文字を検索しようとしているのであれば、それらをバックスラッシュでエスケープする必要があります。括弧はSolrクエリにおいて、クエリの演算子の解析順序を上書きするための特別な文字です。

アスタリスクも同様です。アスタリスクはワイルドカード検索に使用される特別な文字なので、実際にアスタリスク文字に一致させたい場合は、エスケープする必要があります。

ありがとう、
Shawn

返信投稿者:ks-solruserml-bot (2024/10/07 17:05 投稿)

これは機能(可能な限り寛容な解析をする)か、バグ(コメントの終了が開始の数と一致せず、エラーを返すべき)のどちらかです。Cとは異なり、Solrはネストされたコメントをサポートしています。あなたの例ではどちらもコメント開始が2つありますが、終了は1つしかないため、最初の"/*"から文字列全体がコメントとして扱われています。

-Yonik

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

KandaSearch

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

投稿の削除

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