セマンティック検索におけるフィールドワイルドカードクエリ | KandaSearch Community Support Forum

セマンティック検索におけるフィールドワイルドカードクエリ

トピック作成者:ks-solruserml-bot (2025/02/12 15:28 投稿)
4
OpenOpen

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

こんにちは、

現在、ハイブリッド検索(レキシカル検索とベクトル検索の組み合わせ)を使用したクエリをテストしています。検索対象のテキストデータが非常に大きい場合があるため、512トークン程度の複数のチャンクに分割しています。そのチャンクをテキスト形式とベクトル形式でインデックスするために動的フィールドを使用しています。

以下は schema.xml のフィールド定義です:

<fieldType name="knn_vector_768" class="solr.DenseVectorField"
vectorDimension="768" similarityFunction="cosine"/>
<dynamicField name="SemanDynamicText_*" type="text_general" indexed="true"
stored="true"/>
<dynamicField name="SemanDynamicVector_*" type="knn_vector_768"
indexed="true" stored="true"/>

動的に作成されたすべてのフィールドを検索したいのですが、正しいクエリを作成できません。基本的にクエリは次のようになります:

SemanDynamicText_*:years

しかし、Solrはフィールドが見つからないとエラーを返します。

"error": {
  "metadata": [
    "error-class", "org.apache.solr.common.SolrException",
    "root-error-class", "org.apache.solr.common.SolrException"
  ],
  "msg": "no field name specified in query and no default specified via 'df' param",
  "code": 400
}

私のアプローチは正しいでしょうか?それとも、このデータを作成または検索するための別の方法がありますか?

ありがとうございます。
Serigio Maroto

返信投稿者:ks-solruserml-bot (2025/02/12 15:28 投稿)

失礼ですが、そのクエリ構文でのフィールドワイルドカードのアプローチはどこで見つけたのでしょうか?
そのようなものがあるとは記憶にありません。

--
よろしくお願いします、
Mikhail Khludnev

返信投稿者:ks-solruserml-bot (2025/02/12 15:28 投稿)

この構文を正しく読み取る限りでは、フィールド名に末尾のワイルドカードは使用できないようです。
該当箇所のリンク

--
よろしくお願いします、
Mikhail Khludnev

返信投稿者:ks-solruserml-bot (2025/02/12 15:29 投稿)

私はそれをChatGPTから得たのですが、実際には間違っていることがわかりました。ChatGPTがその解決策を作り上げてしまったようです。申し訳ありません。

それなら、各チャンクごとに1つのネストされたドキュメントを作成するのが解決策になるのでしょうか?

よろしくお願いします。
Sergio

返信投稿者:ks-solruserml-bot (2025/02/12 15:29 投稿)

そうです。

--
よろしくお願いします、
Mikhail Khludnev

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

KandaSearch

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

投稿の削除

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