0

Android アプリでの検索に Lucene を使用していますが、複雑なクエリを実行すると、用語のオフセットが返されません。

例えば:

+content:"word" +(personid:NULL personid:123)
+content:"word" +(personid:NULL)
+content:"word" -personid:123

「単語」のオフセットは返されません。

+content:word

オフセットを返します。

ここに私が各フィールドに保存しているものがあります

 doc.add(new Field(PERSON_ID_FIELD, request.getPersonId(), Field.Store.YES, Field.Index.NOT_ANALYZED));
 // we don't actually store the content here
 doc.add(new Field(CONTENT_FIELD, request.getContent(), Field.Store.NO, Field.Index.ANALYZED, Field.TermVector.WITH_OFFSETS));

何か不足していますか?オフセットを戻すためにクエリで何かする必要がありますか?

ありがとう。

4

1 に答える 1

0

用語の内容フィールドからオフセットを取得しようとしてpersonidも、オフセットは返されません。次に、クエリから用語リスト全体をループしないと、クエリのコンテンツ用語に到達することはありません。したがって、オフセットは返されません。

于 2012-09-04T14:42:11.680 に答える