<maven.compiler.target>1.8</maven.compiler.target>\r
</properties>\r
<dependencies>\r
+\r
+ <dependency>\r
+ <groupId>org.apache.lucene</groupId>\r
+ <artifactId>lucene-core</artifactId>\r
+ <version>8.2.0</version>\r
+ </dependency>\r
+ <dependency>\r
+ <groupId>org.apache.lucene</groupId>\r
+ <artifactId>lucene-analyzers</artifactId>\r
+ <version>3.6.2</version>\r
+ </dependency>\r
+ <dependency>\r
+ <groupId>org.apache.lucene</groupId>\r
+ <artifactId>lucene-queryparser</artifactId>\r
+ <version>8.2.0</version>\r
+ </dependency>\r
<dependency>\r
<groupId>org.apache.solr</groupId>\r
<artifactId>solr-solrj</artifactId>\r
--- /dev/null
+package hu.user.mediacube.indexer;\r
+\r
+import java.io.IOException;\r
+import java.nio.file.Paths;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.apache.lucene.analysis.standard.StandardAnalyzer;\r
+import org.apache.lucene.document.Document;\r
+import org.apache.lucene.document.Field.Store;\r
+import org.apache.lucene.document.TextField;\r
+import org.apache.lucene.index.DirectoryReader;\r
+import org.apache.lucene.index.IndexReader;\r
+import org.apache.lucene.index.IndexWriter;\r
+import org.apache.lucene.index.IndexWriterConfig;\r
+import org.apache.lucene.queryparser.classic.QueryParser;\r
+import org.apache.lucene.search.IndexSearcher;\r
+import org.apache.lucene.search.Query;\r
+import org.apache.lucene.search.ScoreDoc;\r
+import org.apache.lucene.search.TopDocs;\r
+import org.apache.lucene.store.Directory;\r
+import org.apache.lucene.store.FSDirectory;\r
+import org.junit.Test;\r
+\r
+public class TestLucene {\r
+ StandardAnalyzer analyzer = new StandardAnalyzer();\r
+ String indexPath = "/opt/lucence";\r
+ Directory directoryIndex;\r
+\r
+ private void createDocument(IndexWriter indexWritter) throws IOException {\r
+ Document document;\r
+\r
+ document = new Document();\r
+ document.add(new TextField("title", "szallonnás jóreggelt", Store.YES));\r
+ document.add(new TextField("body", "vásáry dániel", Store.YES));\r
+ indexWritter.addDocument(document);\r
+\r
+ indexWritter.close();\r
+ }\r
+\r
+ public List<Document> search(String inField, String queryString) throws Exception {\r
+\r
+ // QueryParser queryParser = new QueryParser("<default field>", analyzer);\r
+ // string special = "bodytext:" + text + " OR title:" + text;\r
+\r
+ Query query = new QueryParser(inField, analyzer).parse(queryString);\r
+ IndexReader indexReader = DirectoryReader.open(directoryIndex);\r
+ IndexSearcher searcher = new IndexSearcher(indexReader);\r
+ TopDocs topDocs = searcher.search(query, 10);\r
+ List<Document> ret = new ArrayList<Document>();\r
+ for (ScoreDoc scoreDoc : topDocs.scoreDocs) {\r
+ ret.add(searcher.doc(scoreDoc.doc));\r
+ }\r
+ return ret;\r
+ }\r
+\r
+ @Test\r
+ public void test() {\r
+ try {\r
+ directoryIndex = FSDirectory.open(Paths.get(indexPath));\r
+\r
+ IndexWriterConfig indexWriterConfig = new IndexWriterConfig(analyzer);\r
+ IndexWriter indexWritter = new IndexWriter(directoryIndex, indexWriterConfig);\r
+\r
+ //createDocument(indexWritter);\r
+\r
+ List<Document> search = search("body", "dániel");\r
+ System.out.println(search.size());\r
+ } catch (Exception e) {\r
+ System.out.println(e.getMessage());\r
+ }\r
+ }\r
+\r
+}\r