git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 13 Sep 2019 11:47:27 +0000 (11:47 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 13 Sep 2019 11:47:27 +0000 (11:47 +0000)
server/hu.user.mediacube.indexer/pom.xml
server/hu.user.mediacube.indexer/src/test/java/hu/user/mediacube/indexer/TestLucene.java [new file with mode: 0644]

index ea8b8a69d660b7f5f770e4231268d745eb39655e..fecdf5fd9619b0a160afd4b9afe75ff5556abc3e 100644 (file)
                <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
diff --git a/server/hu.user.mediacube.indexer/src/test/java/hu/user/mediacube/indexer/TestLucene.java b/server/hu.user.mediacube.indexer/src/test/java/hu/user/mediacube/indexer/TestLucene.java
new file mode 100644 (file)
index 0000000..ac64d93
--- /dev/null
@@ -0,0 +1,74 @@
+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