1 つの多値フィールドを使用してインデックスにクエリを実行します。インデックス作成中、いくつかのフィールドを使用してフィールドが作成されます。そのうちのいくつかはTextFieldであり、いくつかはStringFieldです。
私が抱えていた問題は、クエリを使用して複数の単語を使用してインデックスをクエリすることで、次のようになることでした: java.lang.IllegalStateException: field "someField" was indexed without position data; PhraseQuery を実行できません (term=someTerm)
複数値フィールドの作成方法を変更すると、 TextFieldのみが使用され、問題はなくなりました。
1 つの多値フィールドにTextFieldとStringFieldを混在させてはいけないようです。私は正しいですか?誰かが理由を説明してくれますか(または理由を教えてくれませんか)?