/[webpac]/trunk/doc/exact_match.txt
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/doc/exact_match.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 299 - (show annotations)
Sun Apr 4 20:48:56 2004 UTC (15 years, 9 months ago) by dpavlin
File MIME type: text/plain
File size: 1573 byte(s)
explanation of bit-masks with examples

1 How does exact match work?
2
3 Well, it's quite stupid because swish-e doesn't allow you to make exact
4 match to words. So, work-around is to add 'xxbxx' word at beginning of
5 string and 'xxexx' word at end (think of it as xxb(egin)xx and xxe(nd)xxx)
6 and then search for phrase (words in particular order).
7
8 So, title "human" will be indexed as "xxbxx human xxexx" if you want full
9 exact match. Then you can search it using (numbers are parameters to e[nr]
10 field in html forms):
11
12 1: exact match from beginning "xxbxx human"
13 2: exact match from end "human xxexx" (not really useful)
14 3: exact match begin and end "xxbxx human xxexx"
15
16 add 4 to those values (numbers are really bit-masks :-) to produce wild-card
17 match:
18
19 5: exact from beginning with wild-card "xxbxx human*"
20 6: exact from end with wild-card "human* xxexx"
21 7: exact begin+end with wild-card "xxbxx human* xxexx"
22
23 So, to define field which have to be searched using exact match with wild-card
24 on TitleAndResponsibility, you would use:
25
26 <input type="hidden" name="f1" value="TitleAndResponsiblity">
27 <input type="text" name="v1">
28 <input type="hidden" name="e1" value="5">
29
30
31 What are bit-masks?
32
33 Bit-mask is usage of one byte (8 bits) as 8 separate bits with it's own meaning.
34 So, 1 = 2^1, thus it's bit 1. So, for 1-3 we have:
35
36 number bits
37 1 01
38 2 10
39 3 11
40
41 For that we are using two bits. If we want to produce wild-card match, we use
42 bit 3 (2^3 = 4) so we have:
43
44 number bits
45 1 001 begin
46 2 010 end
47 3 011 begin+end
48 4 100 (not used)
49 5 101 (4+1) begin+wild-card
50 6 110 (4+2) end+wild-card
51 7 111 (4+3) begin+end+wild-card

Properties

Name Value
cvs2svn:cvs-rev 1.2

  ViewVC Help
Powered by ViewVC 1.1.26