mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-13 21:01:01 +08:00
Adding syntax Highlight for querydsl-lucene3/README.md
This commit is contained in:
parent
5b5a9f1a9d
commit
b4cfdc41ef
@ -5,36 +5,39 @@ The Lucene module provides integration with the Lucene 3 indexing library.
|
||||
**Maven integration**
|
||||
|
||||
Add the following dependencies to your Maven project :
|
||||
|
||||
<dependency>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-lucene3</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<version>1.6.1</version>
|
||||
</dependency>
|
||||
|
||||
```XML
|
||||
<dependency>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-lucene3</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<version>1.6.1</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
**Creating the query types**
|
||||
|
||||
With fields year and title a manually created query type could look something like this:
|
||||
|
||||
public class QDocument extends EntityPathBase<Document>{
|
||||
private static final long serialVersionUID = -4872833626508344081L;
|
||||
|
||||
public QDocument(String var) {
|
||||
super(Document.class, PathMetadataFactory.forVariable(var));
|
||||
}
|
||||
|
||||
public final StringPath year = createString("year");
|
||||
|
||||
public final StringPath title = createString("title");
|
||||
|
||||
```JAVA
|
||||
public class QDocument extends EntityPathBase<Document>{
|
||||
private static final long serialVersionUID = -4872833626508344081L;
|
||||
|
||||
public QDocument(String var) {
|
||||
super(Document.class, PathMetadataFactory.forVariable(var));
|
||||
}
|
||||
|
||||
public final StringPath year = createString("year");
|
||||
|
||||
public final StringPath title = createString("title");
|
||||
}
|
||||
```
|
||||
|
||||
QDocument represents a Lucene document with the fields year and title.
|
||||
|
||||
Code generation is not available for Lucene, since no schema data is available.
|
||||
@ -42,17 +45,21 @@ Code generation is not available for Lucene, since no schema data is available.
|
||||
**Querying**
|
||||
|
||||
Querying with Querydsl Lucene is as simple as this:
|
||||
|
||||
QDocument doc = new QDocument("doc");
|
||||
|
||||
IndexSearcher searcher = new IndexSearher(index);
|
||||
LuceneQuery query = new LuceneQuery(true, searcher);
|
||||
List<Document> documents = query
|
||||
.where(doc.year.between("1800", "2000").and(doc.title.startsWith("Huckle"))
|
||||
.list();
|
||||
|
||||
```JAVA
|
||||
QDocument doc = new QDocument("doc");
|
||||
|
||||
IndexSearcher searcher = new IndexSearher(index);
|
||||
LuceneQuery query = new LuceneQuery(true, searcher);
|
||||
List<Document> documents = query
|
||||
.where(doc.year.between("1800", "2000").and(doc.title.startsWith("Huckle"))
|
||||
.list();
|
||||
```
|
||||
|
||||
which is transformed into the following Lucene query :
|
||||
|
||||
+year:[1800 TO 2000] +title:huckle*
|
||||
|
||||
```
|
||||
+year:[1800 TO 2000] +title:huckle*
|
||||
```
|
||||
|
||||
For more information on the Querydsl Lucene module visit the reference documentation http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s05.html
|
||||
|
||||
Loading…
Reference in New Issue
Block a user