引用符の分割が一致しない場合があり、2つの隣接するストップワードが存在しています。

トピック作成者:ks-solruserml-bot (2024/05/28 20:08 投稿)
3
CloseClose

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

こんにちは!

text_en_splittingフィールドタイプ(Solr 8.8.2、非常にバニラなスキーマ)について質問があります。以下のようなクエリで失敗していることに気付きました:
title:"The Mark of the Crown"、しかし、以下のようなクエリでは成功しています:title:The Mark of the Crown

Solrの解析ツールを使用してみたところ、インデックスアナライザーは "The Mark of the Crown" を [_, mark, _, crown] に変換しますが、クエリアナライザーはそれを [_, mark, _, _, crown] に変換します。インデックスアナライザーの最終フィルターとして FlattenGraphFilterFactory があり、これは隣接する _ を結合するようです。クエリアナライザーにも FlattenGraphFilterFactory を追加したところ、この問題は解決しました。

これは合理的な解決策でしょうか?もしそうなら、それをデフォルトにすべきでしょうか?それとも、私が間違ったフィールドタイプを使用しているのでしょうか?

よろしくお願いします。

Drini

返信投稿者:ks-solruserml-bot (2024/05/28 20:08 投稿)

こんにちは Drini、

少しコードを調査することをお勧めします。そのトークンフィルタは、同じ位置にある複数の用語を簡単に結合するためのものであり、2つの隣接するトークンを結合して不正確な位置が生成されるのは怪しいと思います。
生成されたトークンの positionLength や position 属性を確認しましたか?

よろしくお願いします。

Alessandro Benedetti
Apache Lucene/Solr コミッター
ディレクター、R&D ソフトウェアエンジニア、検索コンサルタント

www.sease.io

返信投稿者:ks-solruserml-bot (2024/05/28 20:09 投稿)

こんにちは Alessandro、

どのコードを調査すべきでしょうか?Solr の FlattenGraphFilterFactory か、それとも Solr スキーマの設定ですか?

「the mark of the crown」に対するデフォルトのインデックスアナライザーとクエリアナライザーの最終結果は以下の通りです(位置データ付き):

インデックス: [{ text: "mark", start: 4, end: 8, positionLength: 1, *position: 2*, ... }, { text: "crown", start: 16, end: 21, positionLength: 1, *position: 4*, ... }]
クエリ: [{ text: "mark", start: 4, end: 8, positionLength: 1, *position: 2*, ... }, { text: "crown", start: 16, end: 21, positionLength: 1, *position: 5*, ... }]

以下のリンクに、アナライザーのツール出力の全詳細なスクリーンショットがあります:
https://user-images.githubusercontent.com/6251786/118551202-a4b90e00-b72b-11eb-92f1-4d4b13828d83.png

唯一の違いは、クエリアナライザーでは crown の position: 5 であり、インデックスアナライザーでは FlattenGraphFilter を通過した後に position: 4 に設定されています。これは FlattenGraphFilter の潜在的なバグの可能性があると思いますか?それともこれは期待される動作のように見えますか?

ありがとう、
Drini

返信投稿者:ks-solruserml-bot (2024/05/28 20:09 投稿)

こんにちは Drini、

あなたが共有した分析管理ページから判断すると、私にはそれが正しくないように思えます。もう少し調査して、テストを通じて再現し、FlattenGraph Token Filter のコードを確認することをお勧めします!

よろしくお願いします。

Alessandro Benedetti
Apache Lucene/Solr コミッター
ディレクター、R&D ソフトウェアエンジニア、検索コンサルタント

www.sease.io

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

KandaSearch

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

投稿の削除

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