2012-08-31 14 views
0

我使用Lucene在我的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)); 

我失去了我的東西存儲?我在查詢中需要做些什麼來補償偏移?

謝謝。

+0

你是如何試圖檢索偏移? – jpountz

+0

我收到了申請內容的TermVector,然後要求的偏移量爲查詢中的每個學期。 – Ge3ng

+0

@jpountz由於只是我需要的問題。 – Ge3ng

回答

0

如果有人試圖從內容領域獲得的偏移,任期與personid它不返回任何偏移。然後通過整個術語列表從查詢一個不循環不會繼續執行查詢的內容項。因此沒有偏移被返回。