Pylucene 7.6.0 demo 查询

本文将展示如何使用Pylucene 7.6.0进行搜索查询操作。通过实例代码,详细解析了Pylucene在Python中的应用,包括其与Lucene库的结合,以及在web和database数据检索中的关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pylucene 7.6.0 demo 查询

import sys
import lucene
from java.io import File
from java.nio.file import Paths
from org.apache.lucene.analysis.miscellaneous import LimitTokenCountAnalyzer
from org.apache.lucene.analysis.core import WhitespaceAnalyzer
from org.apache.lucene.analysis.standard import StandardAnalyzer
from org.apache.lucene.document import Document, Field, FieldType,TextField
from org.apache.lucene.index import FieldInfo, IndexWriter, IndexWriterConfig,IndexReader,DirectoryReader
from org.apache.lucene.store import SimpleFSDirectory
from org.apache.lucene.util import Version
from org.apache.lucene.analysis.cjk import CJKAnalyzer
from org.apache.lucene.search import IndexSearcher
from org.apache.lucene.queryparser.classic import QueryParser
"""
PyLucene retriver simple example
"""

INDEXDIR = "indexs"
def init():
    lucene.initVM()

init()
indir = Paths.get(INDEXDIR)
indir = SimpleFSDirectory(indir)
indir = DirectoryReader.open(indir)
lucene_analyzer= CJKAnalyzer()
lucene_searcher= IndexSearcher(indir)

def Query(query):
    my_query= QueryParser(query,lucene_analyzer).parse(query)
    MAX= 1000
    total_hits =lucene_searcher.search(my_query,MAX)
    return process(lucene_searcher,total_hits)
    #print("Hits: ",total_hits.totalHits)
    #for hit in total_hits.scoreDocs:
    #    print("Hit Score: ",hit.score, "Hit Doc:",hit.doc, "HitString:",hit.toString())
    #    doc= lucene_searcher.doc(hit.doc)
    #    print(doc.get("text"))

def process(searcher,hits):
    return {hit.doc:searcher.doc(hit.doc).get("text") for hit in hits.scoreDocs}


if __name__ == '__main__':
    l = Query("text:哈哈")
    print(l)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值