3

Solr 3.6 から Solr 4.0 にアップグレードしました。残念ながら、一意のキーによってインデックスからドキュメントを取得する方法の動作が変更されたようです。

Solr 3.6 では、次のクエリは単一のドキュメントを取得します。

key:conf/socc/AscottS09

ただし、Solr 4.0 を同じドキュメント コレクション (再インデックス化) で使用すると、空の結果リストが返されます。conf/socc/AscottS09タイプが であっても、Solr 4.0 は用語を処理/分析しているようですsolr.StrField。用語が引用符で囲まれている場合、クエリは Solr 4.0 で期待どおりに機能します。

key:"conf/socc/AscottS09"                

schema.xml:

...
<fieldType name="string"  class="solr.StrField" sortMissingLast="true" mitNorms="true"/>
...
<field name="key" type="string" indexed="true" stored="true" multiValued="false" required="true"/>
...

これはバグですか、それとも Solr が文字列フィールドを処理する方法に変更がありましたか?

編集:Solr 4.0の移行情報に関連情報が見つかりませんでした

4

1 に答える 1

0

https://issues.apache.org/jira/browse/SOLR-4276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13545425#comment-13545425

Solr 4 はクエリで正規表現をサポートしているため、クエリのトークンはエスケープする必要があります。

QueryParser.escape("XXXX")

この方法を使用していますが、これは Solr/Lucene 3.6 を使用して別のコンポーネントで行われました。

于 2013-01-06T15:57:18.687 に答える