Project

General

Profile

LuceneNotes » History » Version 9

Andreas Kohlbecker, 09/23/2013 12:09 PM

1 1 Andreas Kohlbecker
2
# Various notes and links on Lucene
3
4
5
{{>toc}}
6
7
8
9
10
### Joins in Lucene
11
12
13 2 Andreas Kohlbecker
14
#### joins using BlockJoinQuery
15
16 1 Andreas Kohlbecker
* possible since v3.4.0
17
18
* http://blog.mikemccandless.com/2012/01/searching-relational-content-with.html
19 2 Andreas Kohlbecker
20
21 3 Andreas Kohlbecker
22
#### joins using the JoinUtil
23 2 Andreas Kohlbecker
24 1 Andreas Kohlbecker
25
is slower than BlockJoinQuery but seems more flexible and does not require special indexing
26 2 Andreas Kohlbecker
27 4 Andreas Kohlbecker
28
* possisble since 3.6, 4.0-ALPHA 
29 2 Andreas Kohlbecker
30
* https://issues.apache.org/jira/browse/LUCENE-3602
31 5 Andreas Kohlbecker
32
* http://lucene.apache.org/core/3_6_2/api/all/org/apache/lucene/search/join/JoinUtil.html
33 6 Andreas Kohlbecker
34
35
36
37
### Filters
38
39
40 7 Andreas Kohlbecker
41
#### General rules
42
43
* I you are using multiple filters, place these filters inside of a Boolean Filter. The Boolean Filter internally benefits from the BitSets produced by Filters.
44
45 9 Andreas Kohlbecker
* If you need to use And/Or/Not Filters, your “heaviest” filter should always be placed last – typically Geo filters since they can perform some heavy computations to determine distance.
46 7 Andreas Kohlbecker
47
 
48
49
#### Links to docs
50
51 6 Andreas Kohlbecker
* on bitsets and filters: http://www.elasticsearch.org/blog/all-about-elasticsearch-filter-bitsets/