Skip to main content

module analysis::text::search::LuceneTest

rascal-0.42.0
org.rascalmpl.rascal-lucene-0.1.1

Usage​

import analysis::text::search::LuceneTest;

Dependencies​

import analysis::text::search::Grammars;
import lang::pico::\syntax::Main;
import util::FileSystem;
import IO;
import List;

syntax WordSplitter​

lexical WordSplitter = Word* words;

syntax Word​

lexical Word 
= [A-Za-z0-9\-]+ !>> [A-Za-z0-9]
| ![A-Za-z0-9\-]+ !>> ![A-Za-z0-9]
;

data Document​

data Document (loc comments = |unknown:///|, str extra = "")

data Analyzer​

data Analyzer (Analyzer comments = standardAnalyzer(), Analyzer extra = standardAnalyzer())

function abFilter​

str abFilter(str token)

function utFilter​

bool utFilter(str token)

function lauSplitDanda​

list[str] lauSplitDanda("laudanda")

function an​

Analyzer  an()

function commentAnalyzer​

Analyzer  commentAnalyzer()

function wordSplitFilter​

Filter wordSplitFilter()

function extraAnalyzer​

Analyzer  extraAnalyzer()

function indexAnalyzer​

Analyzer indexAnalyzer()

function picoIndex​

bool picoIndex()

function picoSearch​

void picoSearch(str term)

function extraSearch​

void extraSearch()

function main​

void main()

Tests

test extraTermsTest​

test bool extraTermsTest() = listTerms(indexFolder, "extra") == {
<"est",1>,
<"tbmen",1>,
<"vires",1>,
<"dbndb",1>,
<"voluntbs",1>,
<"desint",1>,
<"lbu",1>
};

test identifierTest​

test bool identifierTest() = picoIndex() && document(loc l) <- searchIndex(indexFolder, "src:repnr") && l == |project://rascal-lucene/src/analysis/text/search/testdata/Fac.pico|;

test analyzerTest1​

test bool analyzerTest1() = picoIndex() && size(analyzeDocument(|project://rascal-lucene/src/analysis/text/search/testdata/Fac.pico|, analyzer=an())) == 25;

test analyzerTest2​

test bool analyzerTest2() = picoIndex() &&  size(analyzeDocument(|project://rascal-lucene/src/analysis/text/search/testdata/Fac.pico|, analyzer=commentAnalyzer())) == 7;

test searchDocTest1​

test bool searchDocTest1() = picoIndex() && size(searchDocument(|project://rascal-lucene/src/analysis/text/search/testdata/Fac.pico|, "repnr", analyzer=an())) == 5;

test searchDocTest2​

test bool searchDocTest2() = picoIndex() && size(searchDocument(|project://rascal-lucene/src/analysis/text/search/testdata/Fac.pico|, "repnr", analyzer=commentAnalyzer())) == 0;

test searchDocTest3​

test bool searchDocTest3() = picoIndex() && size(searchDocument(|project://rascal-lucene/src/analysis/text/search/testdata/Fac.pico|, "check", analyzer=commentAnalyzer())) == 1;