|.. (לתיקייה המכילה) .. (parent folder) .. (родительский каталог) .. (المجلد المحتوي)|
Can you give us some tips on how to start exploring Lucene's code ?
|It takes some while to get to understanding Lucene's code. |
Some tips on how to explore Lucene:
- Take a look at the Javadoc. Try to locate relevant package(s).
- Browse the classes/interfaces. Their names hint on their purpose.
- Open the source code in Eclipse. Explore it. Use Eclipse's options for locating methods calling other methods ...
- Last, but probably the most useful: write a small program which indexes a document and then searches it.
Run an appropriate query using the debugger. Follow the execution flow.
Note: you don't have to understand everything that happens in Lucene, it is quite complex.
You need to spot the code that is relevant to the assignment, and understand how to modify it.
Once you modify it, run a small test with the debugger and follow your modification flow.
In question 4: "any disjunction of terms" - what term types should we handle ?
|You are expected to handle any disjunction, of any term type|
(such as simple terms, phrases and others).
Question 4: if we have a query with duplicate terms, such as A A B,
|Consider A A as two different terms. |
Thus you have 3 distinct terms.
In question 3, what is included in phrase queries ?
|Lucene's phrase query (PhraseQuery class).|