gpt4 book ai didi

java - apache lucene 的更新使用方式

转载 作者:行者123 更新时间:2023-12-02 01:16:54 26 4
gpt4 key购买 nike

String conn = "jdbc:mysql://localhost:3306/db_name";
String username = "****";
String pwd = "****";
String sql = "select coloumn_1 from table1";

Directory indexDirectory = FSDirectory.open(Paths.get("C:/index"));
Directory memoryIndex = new RAMDirectory();

StandardAnalyzer analyzer = new StandardAnalyzer();
IndexWriterConfig indexWriterConfig = new IndexWriterConfig(analyzer);
IndexWriter writer = new IndexWriter(memoryIndex, indexWriterConfig);
Connection con = DriverManager.getConnection(conn, username, pwd);
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = con.createStatement().executeQuery(sql);
while (rs.next()) {
Document doc = new Document();
doc.add(new StringField("RawData", rs.getString("RawData"), Field.Store.YES));

writer.addDocument(doc);
}

我尝试按照互联网上的教程进行操作,其中一个教程如下所示。但我不知道 Lucene 在 java 中是什么以及如何工作的。有人能帮我吗?我是 Lucene 的新手,有没有一种新方法可以在 Java 上实现 Lucene?有没有任何资料可以帮助我从基础开始理解Lucene。大多数教程只使用文件流,而不是数据库。我想知道如何使用Lucene中的数据库。我想使用 Lucene 从数据库中提取数据。

最佳答案

您错过了最重要的步骤:

  • 指定索引目录:

    // eg. using filesystem 
    Directory indexDirectory = FSDirectory.open(Paths.get("C:/DEV/index"));
    // ... or using RAM
    Directory memoryIndex = new RAMDirectory();
  • 使用 analyzer :

    StandardAnalyzer analyzer = new StandardAnalyzer();
  • 创建 indexWriterConfig使用该分析仪:

    IndexWriterConfig indexWriterConfig = new IndexWriterConfig(analyzer);
  • 使用编写器配置和索引目录对象创建实际的索引编写器:

    IndexWriter writer = new IndexWriter(memoryIndex, indexWriterConfig);

现在您的作者应该能够正确索引文档。使用Field()Document()建立要索引的内容。

如果您不熟悉 Lucene,您可能更喜欢使用 Field subclasses 之一而不是Field()直接地。在你的情况下,它将是 TextField()如果您希望为全文搜索索引字段内容,或 StringField()如果您希望该字段保留UN_TOKENIZED (内容索引为单个标记),例如。 :

Document doc = new Document();
doc.add(new StringField("RawData", rs.getString("RawData"), Field.Store.YES));

最后:

writer.addDocument(doc);

关于java - apache lucene 的更新使用方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58424819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com