Size: 1390
Comment:
|
Size: 1417
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Xapian的使用并不方便,最起码没有PyLucene那样方便。它没有Field的概念,如果要把数据库里的内容都用Xapian建立索引并搜索,并不是很方便。 Xapian的Document相当于一条记录,但是它能存储的信息只有value,term,posting和data |
== 关键词前缀 == Xapian的使用并不方便,最起码没有PyLucene那样方便。它没有Field的概念,如果要把数据库里的内容都用Xapian建立索引并搜索,并不是很方便。 Xapian的Document相当于一条记录,但是它能存储的信息只有value,term,posting和data |
Line 4: | Line 4: |
term是一个关键词,字符串。被索引. 一个Document中可以有0到多个term | . term是一个关键词,字符串。被索引. 一个Document中可以有0到多个term . posting是一个带有位置信息的term,首先它是一个字符串,被索引,同时它还带有一个表示这个term在全文中的位置的数字。一个Document可以有0到多个posting . value是一个字符中值,不被索引,但是被保存.可以做为搜索结果排序的条件。一个Document可以有0到多个value,每个value都有一个valueno序号。 data是一个被存储的数据,不被索引,也不能做排序条件。一个Document只能有一个data 如果一个数据库的表中有3个char字段,并且每个字段都要建立索引,而搜索的时候可能并不是每个字段都参于条件。 例如: |
Line 6: | Line 9: |
posting是一个带有位置信息的term,首先它是一个字符串,被索引,同时它还带有一个表示这个term在全文中的位置的数字。一个Document可以有0到多个posting | select * from table1 where field1 like '%hello%' and field2 like '%world%' |
Line 8: | Line 11: |
value是一个字符中值,不被索引,但是被保存.可以做为搜索结果排序的条件。一个Document可以有0到多个value,每个value都有一个valueno序号。 data是一个被存储的数据,不被索引,也不能做排序条件。一个Document只能有一个data 如果一个数据库的表中有3个char字段,并且每个字段都要建立索引,而搜索的时候可能并不是每个字段都参于条件。例如: select * from table1 where field1 like '%hello%' and field2 like '%world%' 这样的查询在xapian中比较难处理。 xapian解决这个问题的方法就是使用prefix,就是在每个term前加一个前缀,例如:FIELD1hello,在建立索引和搜索时,都加上这个前缀,就可以了。 这样做还是比较麻烦的。 |
这样的查询在xapian中比较难处理。 xapian解决这个问题的方法就是使用prefix,就是在每个term前加一个前缀,例如:FIELD1hello,在建立索引和搜索时,都加上这个前缀,就可以了。 这样做还是比较麻烦的。 |
关键词前缀
Xapian的使用并不方便,最起码没有PyLucene那样方便。它没有Field的概念,如果要把数据库里的内容都用Xapian建立索引并搜索,并不是很方便。 Xapian的Document相当于一条记录,但是它能存储的信息只有value,term,posting和data
- term是一个关键词,字符串。被索引. 一个Document中可以有0到多个term
- posting是一个带有位置信息的term,首先它是一个字符串,被索引,同时它还带有一个表示这个term在全文中的位置的数字。一个Document可以有0到多个posting
- value是一个字符中值,不被索引,但是被保存.可以做为搜索结果排序的条件。一个Document可以有0到多个value,每个value都有一个valueno序号。 data是一个被存储的数据,不被索引,也不能做排序条件。一个Document只能有一个data
如果一个数据库的表中有3个char字段,并且每个字段都要建立索引,而搜索的时候可能并不是每个字段都参于条件。 例如:
- select * from table1 where field1 like '%hello%' and field2 like '%world%'
这样的查询在xapian中比较难处理。 xapian解决这个问题的方法就是使用prefix,就是在每个term前加一个前缀,例如:FIELD1hello,在建立索引和搜索时,都加上这个前缀,就可以了。 这样做还是比较麻烦的。