0

ソル 4.2.1

何を試しても、exists() 関数から正しい結果が得られないようです。タイプ「text_general」のフィールドがスキーマに存在するかどうかを確認するために使用しています。ある程度は機能しますが、約 10% の確率で間違っています。

これは、クエリの FL 部分でテストするために使用している簡略化されたコードです。

fl=list:if(exists(title),1,0),title

これは私が取得したサンプルレコードで、これは正しくありません。

<str name="title">Tonight Tonight</str> #Obviously exists
<long name="list">0</long></doc> #Still returns 0

これが私のスキーマ定義です。多分 text_general はこれに問題がありますか? それについてのドキュメントには何も見つかりません。

<field name="title" type="text_general" indexed="true" stored="true" required="false" multiValued="false" />

ありがとう

4

1 に答える 1

0

フィールドが存在するかどうかを確認したい場合は、否定的なクエリを確認してください。

-field:[* TO *] finds all documents without a value for field

あなたも試すことができます-field:["" TO *]

于 2013-07-08T05:08:47.437 に答える