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/ |