polyrex-search 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/polyrex-search.rb +28 -0
  2. metadata +56 -0
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ #file: polyrex-search.rb
4
+
5
+ require 'polyrex'
6
+
7
+ class PolyrexSearch
8
+
9
+ def initialize(index_file=nil)
10
+
11
+ if index_file then
12
+ @polyrex = Polyrex.new(index_file)
13
+ else
14
+ @polyrex = Polyrex.new('words/key[word]/location[url]')
15
+ end
16
+ end
17
+
18
+ def search(keywords)
19
+ a = keywords.split.map {|x| @polyrex.find_by_key_word(x).records.map(&:url) }.flatten
20
+ freq = a.inject(Hash.new(0)) { |h,v| h[v] += 1; h }
21
+ freq.sort_by(&:last).reverse
22
+ end
23
+ end
24
+
25
+ if $0 == __FILE__ then
26
+ pse = PolyrexSearch.new('polyrex_search.xml')
27
+ pse.search('time')
28
+ end
metadata ADDED
@@ -0,0 +1,56 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: polyrex-search
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.1.0
6
+ platform: ruby
7
+ authors:
8
+ - James Robertson
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-11-21 00:00:00 +00:00
14
+ default_executable:
15
+ dependencies: []
16
+
17
+ description:
18
+ email:
19
+ executables: []
20
+
21
+ extensions: []
22
+
23
+ extra_rdoc_files: []
24
+
25
+ files:
26
+ - lib/polyrex-search.rb
27
+ has_rdoc: true
28
+ homepage:
29
+ licenses: []
30
+
31
+ post_install_message:
32
+ rdoc_options: []
33
+
34
+ require_paths:
35
+ - lib
36
+ required_ruby_version: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: "0"
42
+ required_rubygems_version: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: "0"
48
+ requirements: []
49
+
50
+ rubyforge_project:
51
+ rubygems_version: 1.5.2
52
+ signing_key:
53
+ specification_version: 3
54
+ summary: polyrex-search
55
+ test_files: []
56
+