日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pylucene构建索引_java-Apache Lucene:建立索引时如何使用TokenSt...

發布時間:2025/3/12 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pylucene构建索引_java-Apache Lucene:建立索引时如何使用TokenSt... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在尋找一種使用Apache Lucene編寫自定義索引的方法(準確地說是PyLucene,但Java回答很好).

我要執行的操作如下:將文檔添加到索引時,Lucene會將其標記化,刪除停用詞等.如果我沒有記錯的話,通常使用分析器來完成.

我要實現的是以下內容:在Lucene存儲給定術語之前,我想執行查找(例如,在詞典中)以檢查是否保留該術語或將其丟棄(如果該術語存在于我的詞典中) ,則保留它,否則將其丟棄).

我應該如何進行?

這是(在Python中)我對Analyzer的自定義實現:

class CustomAnalyzer(PythonAnalyzer):

def createComponents(self, fieldName, reader):

source = StandardTokenizer(Version.LUCENE_4_10_1, reader)

filter = StandardFilter(Version.LUCENE_4_10_1, source)

filter = LowerCaseFilter(Version.LUCENE_4_10_1, filter)

filter = StopFilter(Version.LUCENE_4_10_1, filter,

StopAnalyzer.ENGLISH_STOP_WORDS_SET)

ts = tokenStream.getTokenStream()

token = ts.addAttribute(CharTermAttribute.class_)

offset = ts.addAttribute(OffsetAttribute.class_)

ts.reset()

while ts.incrementToken():

startOffset = offset.startOffset()

endOffset = offset.endOffset()

term = token.toString()

# accept or reject term

ts.end()

ts.close()

# How to store the terms in the index now ?

return ????

預先感謝您的指導!

編輯1:在研究Lucene的文檔后,我發現它與TokenStreamComponents有關.它返回一個TokenStream,您可以使用它遍歷索引字段的Token列表.

現在,有些與我不了解的屬性有關.或更準確地說,我可以讀取令牌,但不知道之后該如何處理.

編輯2:我發現這個post,他們提到了CharTermAttribute的使用.但是(盡管在Python中)我無法訪問或獲取CharTermAttribute.有什么想法嗎 ?

EDIT3:我現在可以訪問每個術語,請參閱更新代碼片段.現在剩下要做的實際上是存儲所需的條件…

總結

以上是生活随笔為你收集整理的pylucene构建索引_java-Apache Lucene:建立索引时如何使用TokenSt...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。