- 浏览: 852034 次
文章分类
- 全部博客 (365)
- java (124)
- spring mvc (21)
- spring (22)
- struts2 (6)
- jquery (27)
- javascript (24)
- mybatis/ibatis (8)
- hibernate (7)
- compass (11)
- lucene (26)
- flex (0)
- actionscript (0)
- webservice (8)
- rabbitMQ/Socket (15)
- jsp/freemaker (5)
- 数据库 (27)
- 应用服务器 (21)
- Hadoop (1)
- PowerDesigner (3)
- EJB (0)
- JPA (0)
- PHP (2)
- C# (0)
- .NET (0)
- html (2)
- xml (5)
- android (7)
- flume (1)
- zookeeper (0)
- 证书加密 (2)
- maven (1)
- redis (2)
- cas (11)
最新评论
-
zuxianghuang:
通过pom上传报错 Artifact upload faile ...
nexus上传了jar包.通过maven引用当前jar,不能取得jar的依赖 -
流年末年:
百度网盘的挂了吧???
SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证) -
953434367:
UfgovDBUtil 是什么类
Java发HTTP POST请求(内容为xml格式) -
smilease:
帮大忙了,非常感谢
freemaker自动生成源代码 -
syd505:
十分感谢作者无私的分享,仔细阅读后很多地方得以解惑。
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
Compass2.0.2自带例子解析:
下面的代码来自compass自带的例子 代码如下:
Author.java
1. package com.tutorial;
2.
3. import java.util.ArrayList;
4. import java.util.Date;
5. import java.util.List;
6.
7. public class Author implements Identifiable {
8.
9. private Long id;
10. private Name name;
11. private Date birthdate;
12. private String[] keywords;
13. private List<Book> books = new ArrayList<Book>();
14.
15. public Author() {
16. }
17.
18. public Date getBirthdate() {
19. return birthdate;
20. }
21.
22. public void setBirthdate(Date birthdate) {
23. this.birthdate = birthdate;
24. }
25.
26. public List<Book> getBooks() {
27. return books;
28. }
29.
30. public void setBooks(List<Book> books) {
31. this.books = books;
32. }
33.
34. public void addBook(Book book) {
35. books.add(book);
36. }
37.
38. public Long getId() {
39. return id;
40. }
41.
42. public void setId(Long id) {
43. this.id = id;
44. }
45.
46. public Name getName() {
47. return name;
48. }
49.
50. public void setName(Name name) {
51. this.name = name;
52. }
53.
54. public String[] getKeywords() {
55. return keywords;
56. }
57.
58. public void setKeywords(String[] keywords) {
59. this.keywords = keywords;
60. }
61.
62. public String toString() {
63. return name.toString();
64. }
65. }
Book.java
1. package com.tutorial;
2.
3. import java.util.Date;
4.
5. public class Book implements Identifiable {
6.
7. private Long id;
8. private String title;
9. private Date publishDate;
10. private String[] keywords;
11. private String summary;
12.
13. public Book() {
14. }
15.
16. public Book(String title, Date publishDate, String summary, String[] keywords) {
17. this.title = title;
18. this.publishDate = publishDate;
19. this.summary = summary;
20. this.keywords = keywords;
21. }
22.
23. public String[] getKeywords() {
24. return keywords;
25. }
26.
27. public void setKeywords(String[] keywords) {
28. this.keywords = keywords;
29. }
30.
31. public Date getPublishDate() {
32. return publishDate;
33. }
34.
35. public void setPublishDate(Date publishDate) {
36. this.publishDate = publishDate;
37. }
38.
39. public String getSummary() {
40. return summary;
41. }
42.
43. public void setSummary(String summary) {
44. this.summary = summary;
45. }
46.
47. public String getTitle() {
48. return title;
49. }
50.
51. public void setTitle(String title) {
52. this.title = title;
53. }
54.
55. public Long getId() {
56. return id;
57. }
58.
59. public void setId(Long id) {
60. this.id = id;
61. }
62.
63. public String toString() {
64. return title;
65. }
66. }
Identifiable.java
1. package com.tutorial;
2.
3. public interface Identifiable {
4.
5. Long getId();
6. }
Name.java
1. package com.tutorial;
2.
3. public class Name {
4.
5. private String title;
6. private String firstName;
7. private String lastName;
8.
9. public Name() {
10. }
11.
12. public Name(String title, String firstName, String lastName) {
13. this.title = title;
14. this.firstName = firstName;
15. this.lastName = lastName;
16. }
17.
18. public String getFirstName() {
19. return firstName;
20. }
21.
22. public void setFirstName(String firstName) {
23. this.firstName = firstName;
24. }
25.
26. public String getLastName() {
27. return lastName;
28. }
29.
30. public void setLastName(String lastName) {
31. this.lastName = lastName;
32. }
33.
34. public String getTitle() {
35. return title;
36. }
37.
38. public void setTitle(String title) {
39. this.title = title;
40. }
41.
42. public boolean equals(Object other) {
43.
44. if (this == other) {
45. return true;
46. }
47.
48. if (!(other instanceof Name)) {
49. return false;
50. }
51.
52. Name otherName = (Name) other;
53. if (title != null) {
54. if (!title.equals(otherName.getTitle())) {
55. return false;
56. }
57. }
58. if (firstName != null) {
59. if (!firstName.equals(otherName.getFirstName())) {
60. return false;
61. }
62. }
63. if (lastName != null) {
64. if (!lastName.equals(otherName.getLastName())) {
65. return false;
66. }
67. }
68. return true;
69. }
70.
71. public int hashCode() {
72. int hash = 1;
73. hash = hash * 31 + title == null ? 0 : title.hashCode();
74. hash = hash * 31 + firstName == null ? 0 : firstName.hashCode();
75. hash = hash * 31 + lastName == null ? 0 : lastName.hashCode();
76. return hash;
77. }
78.
79. public String toString() {
80. return title + ” ” + ” ” + firstName + ” ” + lastName;
81. }
82. }
Library.java
1. package com.tutorial;
2.
3. public final class Library {
4.
5. public static final class Group {
6. public static final String Id = “library”;
7. public static final String DispayName = “Library Meta Data”;
8. public static final String Uri = “http://compass/toturial“;
9. }
10.
11. public static final class Alias {
12.
13. public static final class Book {
14. public static final String Id = “book”;
15. public static final String Name = “book”;
16. public static final String DisplayName = “Book”;
17. public static final String Uri = “http://compass/toturial/alias/book“;
18. public static final String GroupId = “library”;
19. }
20.
21. public static final class Name {
22. public static final String Id = “name”;
23. public static final String Name = “name”;
24. public static final String DisplayName = “Name”;
25. public static final String Uri = “http://compass/toturial/alias/name“;
26. public static final String GroupId = “library”;
27. }
28.
29. public static final class Author {
30. public static final String Id = “author”;
31. public static final String Name = “author”;
32. public static final String DisplayName = “Author”;
33. public static final String Uri = “http://compass/toturial/alias/author“;
34. public static final String GroupId = “library”;
35. }
36.
37. }
38.
39. public static final class MetaData {
40.
41. public static final class Summary {
42. public static final String Id = “summary”;
43. public static final String Name = “summary”;
44. public static final String DisplayName = “Summary”;
45. public static final String Uri = “http://compass/toturial/summary“;
46. public static final String GroupId = “library”;
47. }
48.
49. public static final class Keyword {
50. public static final String Id = “keyword”;
51. public static final String Name = “keyword”;
52. public static final String DisplayName = “Keyword”;
53. public static final String Uri = “http://compass/toturial/keyword“;
54. public static final String GroupId = “library”;
55. }
56.
57. public static final class PublishDate {
58. public static final String Id = “publishDate”;
59. public static final String Name = “publish”;
60. public static final String DisplayName = “Publish Date”;
61. public static final String Uri = “http://compass/toturial/publishDate“;
62. public static final String GroupId = “library”;
63. }
64.
65. public static final class Title {
66. public static final String Id = “title”;
67. public static final String Name = “title”;
68. public static final String DisplayName = “Title”;
69. public static final String Uri = “http://compass/toturial/title“;
70. public static final String GroupId = “library”;
71. }
72.
73. public static final class Type {
74. public static final String Id = “type”;
75. public static final String Name = “type”;
76. public static final String DisplayName = “Type”;
77. public static final String Uri = “http://compass/toturial/type“;
78. public static final String GroupId = “library”;
79. }
80.
81. public static final class TitleName {
82. public static final String Id = “titleName”;
83. public static final String Name = “titleName”;
84. public static final String DisplayName = “Title Name”;
85. public static final String Uri = “http://compass/toturial/titleName“;
86. public static final String GroupId = “library”;
87. }
88.
89. public static final class Isbn {
90. public static final String Id = “isbn”;
91. public static final String Name = “name”;
92. public static final String DisplayName = “ISBN”;
93. public static final String Uri = “http://compass/toturial/name“;
94. public static final String GroupId = “library”;
95. }
96.
97. public static final class Name {
98. public static final String Id = “name”;
99. public static final String Name = “name”;
100. public static final String DisplayName = “Name”;
101. public static final String Uri = “http://compass/toturial/name“;
102. public static final String GroupId = “library”;
103. }
104.
105. public static final class Birthdate {
106. public static final String Id = “birthdate”;
107. public static final String Name = “birthdate”;
108. public static final String DisplayName = “Birthdate”;
109. public static final String Uri = “http://compass/toturial/birthdate“;
110. public static final String GroupId = “library”;
111. public static final String Format = “yyyy/MM/dd”;
112. }
113.
114. public static final class FirstName {
115. public static final String Id = “firstName”;
116. public static final String Name = “firstName”;
117. public static final String DisplayName = “First Name”;
118. public static final String Uri = “http://compass/toturial/firstName“;
119. public static final String GroupId = “library”;
120. }
121.
122. public static final class LastName {
123. public static final String Id = “lastName”;
124. public static final String Name = “lastName”;
125. public static final String DisplayName = “Last Name”;
126. public static final String Uri = “http://compass/sample/library/lastName“;
127. public static final String GroupId = “library”;
128. }
129. }
130. }
Author.cpm.xml
1. <?xml version=”1.0″?>
2. <!DOCTYPE compass-core-mapping PUBLIC
3. “-//Compass/Compass Core Mapping DTD 2.0//EN”
4. “http://www.compass-project.org/dtd/compass-core-mapping-2.0.dtd“>
5.
6. <compass-core-mapping package=”com.tutorial”>
7.
8. <class name=”Author” alias=”${library.author}”>
9.
10. <id name=”id” />
11.
12. <constant>
13. <meta-data>${library.type}</meta-data>
14. <meta-data-value>${library.type.mdPerson}</meta-data-value>
15. <meta-data-value>${library.type.mdAuthor}</meta-data-value>
16. </constant>
17.
18. <property name=”keywords”>
19. <meta-data boost=”2″>${library.keyword}</meta-data>
20. </property>
21.
22. <component name=”name” ref-alias=”${library.name.md}” />
23.
24. <property name=”birthdate”>
25. <meta-data>${library.birthdate}</meta-data>
26. </property>
27.
28. <reference name=”books” ref-alias=”${library.book}” />
29.
30. </class>
31.
32. <class name=”Name” alias=”${library.name}” root=”false”>
33. <property name=”title”>
34. <meta-data>${library.titleName}</meta-data>
35. </property>
36. <property name=”firstName”>
37. <meta-data>${library.firstName}</meta-data>
38. <meta-data>${library.name}</meta-data>
39. </property>
40. <property name=”lastName”>
41. <meta-data>${library.lastName}</meta-data>
42. <meta-data>${library.name}</meta-data>
43. </property>
44. </class>
45.
46. </compass-core-mapping>
Book.cpm.xml
1. <?xml version=”1.0″?>
2. <!DOCTYPE compass-core-mapping PUBLIC
3. “-//Compass/Compass Core Mapping DTD 2.0//EN”
4. “http://www.compass-project.org/dtd/compass-core-mapping-2.0.dtd“>
5.
6. <compass-core-mapping package=”com.tutorial”>
7.
8. <class name=”Book” alias=”${library.book}”>
9.
10. <id name=”id” />
11.
12. <property name=”keywords”>
13. <meta-data boost=”2″>${library.keyword}</meta-data>
14. </property>
15.
16. <property name=”title”>
17. <meta-data>${library.title}</meta-data>
18. </property>
19.
20. <property name=”publishDate”>
21. <meta-data>${library.publishDate}</meta-data>
22. </property>
23.
24. <property name=”summary”>
25. <meta-data>${library.summary}</meta-data>
26. </property>
27.
28. </class>
29.
30. </compass-core-mapping>
library.cmd.xml
1. <?xml version=”1.0″?>
2. <!DOCTYPE compass-core-meta-data PUBLIC
3. “-//Compass/Compass Core Meta Data DTD 2.0//EN”
4. “http://www.compass-project.org/dtd/compass-core-meta-data-2.0.dtd“>
5.
6. <compass-core-meta-data>
7.
8. <meta-data-group id=”library” displayName=”Library Meta Data”>
9.
10. <description>Library Meta Data</description>
11. <uri>http://compass/toturial</uri>
12.
13. <alias id=”author” displayName=”Author”>
14. <description>Author alias</description>
15. <uri>http://compass/toturial/alias/author</uri>
16. <name>author</name>
17. </alias>
18.
19. <alias id=”name” displayName=”Name”>
20. <description>Name alias</description>
21. <uri>http://compass/toturial/alias/name</uri>
22. <name>name</name>
23. </alias>
24.
25. <alias id=”book” displayName=”Book”>
26. <description>Book alias</description>
27. <uri>http://compass/toturial/alias/book</uri>
28. <name>book</name>
29. </alias>
30.
31. <meta-data id=”type” displayName=”Type”>
32. <description>Type of an entity in the system</description>
33. <uri>http://compass/toturial/type</uri>
34. <name>type</name>
35. <value id=”mdPerson”>person</value>
36. <value id=”mdAuthor”>author</value>
37. </meta-data>
38.
39. <meta-data id=”keyword” displayName=”Keyword”>
40. <description>Keyword associated with an entity</description>
41. <uri>http://compass/toturial/keyword</uri>
42. <name>keyword</name>
43. </meta-data>
44.
45. <meta-data id=”name” displayName=”Name”>
46. <description>The name of a person (firstName or lastName) without the title</description>
47. <uri>http://compass/toturial/name</uri>
48. <name>name</name>
49. </meta-data>
50.
51. <meta-data id=”firstName” displayName=”First Name”>
52. <description>The first name of a person</description>
53. <uri>http://compass/toturial/firstName</uri>
54. <name>firstName</name>
55. </meta-data>
56.
57. <meta-data id=”lastName” displayName=”Last Name”>
58. <description>The last name of a person</description>
59. <uri>http://compass/toturial/lastName</uri>
60. <name>lastName</name>
61. </meta-data>
62.
63. <meta-data id=”titleName” displayName=”Title Name”>
64. <description>The title of a person</description>
65. <uri>http://compass/toturial/titleName</uri>
66. <name>titleName</name>
67. </meta-data>
68.
69. <meta-data id=”birthdate” displayName=”Birthdate”>
70. <description>The birthdate of a person</description>
71. <uri>http://compass/toturial/birthdate</uri>
72. <name format=”yyyy/MM/dd”>birthdate</name>
73. </meta-data>
74.
75. <meta-data id=”isbn” displayName=”ISBN”>
76. <description>ISBN of the book</description>
77. <uri>http://compass/toturial/name</uri>
78. <name>name</name>
79. </meta-data>
80.
81. <meta-data id=”title” displayName=”Title”>
82. <description>The title of a book or an article</description>
83. <uri>http://compass/toturial/title</uri>
84. <name>title</name>
85. </meta-data>
86.
87. <meta-data id=”publishDate” displayName=”Publish Date”>
88. <description>The publish date of a book or an article</description>
89. <uri>http://compass/toturial/publishDate</uri>
90. <name>publish</name>
91. </meta-data>
92.
93. <meta-data id=”summary” displayName=”Summary”>
94. <description>The summary of a book or an article</description>
95. <uri>http://compass/toturial/summary</uri>
96. <name>summary</name>
97. </meta-data>
98.
99. </meta-data-group>
100.
101. </compass-core-meta-data>
compass.cfg.xml
1. <!DOCTYPE compass-core-configuration PUBLIC
2. “-//Compass/Compass Core Configuration DTD 2.0//EN”
3. “http://www.compass-project.org/dtd/compass-core-configuration-2.0.dtd“>
4.
5. <compass-core-configuration>
6.
7. <compass>
8.
9. <setting name=”compass.engine.connection”>target/index</setting>
10.
11. <meta-data resource=”com/tutorial/library.cmd.xml” />
12.
13. </compass>
14.
15. </compass-core-configuration>
测试代码:
LibraryTests.java
1. package com.demo;
2.
3. import java.text.SimpleDateFormat;
4. import java.util.Calendar;
5.
6. import org.compass.core.Compass;
7. import org.compass.core.CompassCallbackWithoutResult;
8. import org.compass.core.CompassException;
9. import org.compass.core.CompassHits;
10. import org.compass.core.CompassQueryBuilder;
11. import org.compass.core.CompassSession;
12. import org.compass.core.CompassTemplate;
13. import org.compass.core.CompassTransaction;
14. import org.compass.core.Resource;
15. import org.compass.core.config.CompassConfiguration;
16.
17. import com.tutorial.Author;
18. import com.tutorial.Book;
19. import com.tutorial.Identifiable;
20. import com.tutorial.Library;
21. import com.tutorial.Name;
22.
23. public class LibraryTests {
24.
25. public static void main(String[] args){
26.
27. CompassConfiguration config = new CompassConfiguration();
28. config.configure(“/com/tutorial/compass.cfg.xml”);
29. config.addClass(Author.class).addClass(Book.class);
30. Compass compass = config.buildCompass();
31. compass.getSearchEngineIndexManager().deleteIndex();
32. compass.getSearchEngineIndexManager().createIndex();
33.
34. try {
35. setUpData(compass);
36. } catch (Exception e) {
37. e.printStackTrace();
38. }
39.
40. CompassSession session = compass.openSession();
41. CompassTransaction tx = null;
42. try {
43. tx = session.beginTransaction();
44. Author author = (Author) session.load(Author.class, 1);
45.
46. SimpleDateFormat sdf = new SimpleDateFormat(Library.MetaData.Birthdate.Format);
47. System.out.println(sdf.format(author.getBirthdate()));
48. System.out.println(author.getName().getFirstName());
49. System.out.println(author.getBooks().size());
50.
51. //delete it
52. //session.delete(author);
53.
54. tx.commit();
55. } catch (Exception e) {
56. if (tx != null) {
57. tx.rollback();
58. }
59. } finally {
60. session.close();
61. }
62.
63. CompassTemplate compassTemplate = new CompassTemplate(compass);
64. compassTemplate.execute(new CompassCallbackWithoutResult() {
65. protected void doInCompassWithoutResult(CompassSession session) throws CompassException {
66. String query = “fiercely”;
67. CompassHits hits = session.find(query);
68.
69. System.out.println(“Found [" + hits.getLength() + "] hits for [" + query + "] query”);
70. System.out.println(“======================================================”);
71. for (int i = 0; i < hits.getLength(); i++) {
72. Object value = hits.data(i);
73. Resource resource = hits.resource(i);
74. System.out.println(“ALIAS [" + resource.getAlias() + "] ID [" + ((Identifiable) value).getId() + "] SCORE [" + hits.score(i) + "]“);
75. System.out.println(“:::: ” + value);
76. System.out.println(“”);
77. }
78.
79. hits.close();
80. }
81. });
82.
83. compassTemplate = new CompassTemplate(compass);
84. compassTemplate.execute(new CompassCallbackWithoutResult() {
85. protected void doInCompassWithoutResult(CompassSession session) throws CompassException {
86.
87. CompassQueryBuilder queryBuilder = session.queryBuilder();
88. CompassHits hits = queryBuilder.bool().addMust(queryBuilder.term(“book.id”, 1))
89. //.addMustNot(queryBuilder.term(“author.books.id”, 1))
90. .toQuery().hits();
91.
92. System.out.println(“Found [" + hits.getLength() + "] hits for [" + "Jack" + "] query”);
93. System.out.println(“======================================================”);
94. for (int i = 0; i < hits.getLength(); i++) {
95. Object value = hits.data(i);
96. Resource resource = hits.resource(i);
97. System.out.println(“ALIAS [" + resource.getAlias() + "] ID [" + ((Identifiable) value).getId() + "] SCORE [" + hits.score(i) + "]“);
98. System.out.println(“:::: ” + value);
99. System.out.println(“”);
100. }
101.
102. hits.close();
103. }
104. });
105.
106. }
107.
108. public static void setUpData(Compass compass) throws Exception {
109.
110. CompassSession session = compass.openSession();
111. CompassTransaction tx = session.beginTransaction();
112.
113. Author jackLondon = new Author();
114. jackLondon.setId(new Long(1));
115. jackLondon.setName(new Name(“Mr”, “Jack”, “London”));
116. Calendar c = Calendar.getInstance();
117. c.set(1876, 0, 12);
118. jackLondon.setBirthdate(c.getTime());
119. jackLondon.setKeywords(new String[] { “american author” });
120.
121. Book whiteFang = new Book();
122. whiteFang.setId(new Long(1));
123. whiteFang.setTitle(“White Fang”);
124. c.set(1906, 0, 1);
125. whiteFang.setPublishDate(c.getTime());
126. whiteFang.setSummary(“The remarkable story of a fiercely independent creature of the wild”);
127. whiteFang.setKeywords(new String[] { “jack london”, “call of the wild” });
128. jackLondon.addBook(whiteFang);
129. session.save(whiteFang);
130.
131. Book callOfTheWild = new Book();
132. callOfTheWild.setId(new Long(2));
133. callOfTheWild.setTitle(“The Call of the Wild”);
134. c.set(1903, 0, 1);
135. callOfTheWild.setPublishDate(c.getTime());
136. callOfTheWild.setSummary(“The Call of the Wild is a tale about unbreakable spirit”);
137. callOfTheWild.setKeywords(new String[] { “jack london”, “buck”, “white fang” });
138. jackLondon.addBook(callOfTheWild);
139. session.save(callOfTheWild);
140.
141. session.save(jackLondon);
142.
143. Author jamesClavell = new Author();
144. jamesClavell.setId(new Long(2));
145. jamesClavell.setName(new Name(“Mr”, “James”, “Clavell”));
146. c.set(1924, 9, 10);
147. jamesClavell.setBirthdate(c.getTime());
148. jamesClavell.setKeywords(new String[] { “far east”, “shogun”, “japan”, “hong kong” });
149.
150. Book shogun = new Book();
151. shogun.setId(new Long(3));
152. shogun.setTitle(“Shogun”);
153. c.set(1975, 0, 1);
154. shogun.setPublishDate(c.getTime());
155. shogun.setSummary(“A story of a hero who is not a person but a place and a time,”
156. + ” medieval Japan on the threshold of becoming a sea power”);
157. shogun.setKeywords(new String[] { “james clavell”, “Blackthorne”, “Toranaga”, “japan” });
158. jamesClavell.addBook(shogun);
159. session.save(shogun);
160.
161. Book taipan = new Book();
162. taipan.setId(new Long(4));
163. taipan.setTitle(“Taipan”);
164. c.set(1966, 0, 1);
165. taipan.setPublishDate(c.getTime());
166. taipan.setSummary(“Tai-Pan is chinese for /”supreme leader/”. This is the man with real power ”
167. + “to his hands. And such a Tai-Pan is Dirk Struan who is obsessed by his plan to make Hong Kong ”
168. + “the /”jewel in the crown of her British Majesty/”. In 1841 he achieves his goal but he has many ”
169. + “enemies who try to destroy his plans. Will they succeed?”);
170. taipan.setKeywords(new String[] { “james clavell”, “Dirk Struan”, “joss”, “hong kong” });
171. jamesClavell.addBook(taipan);
172.
173. session.save(taipan);
174.
175. session.save(jamesClavell);
176.
177. tx.commit();
178. session.close();
179. }
180. }
下面的代码来自compass自带的例子 代码如下:
Author.java
1. package com.tutorial;
2.
3. import java.util.ArrayList;
4. import java.util.Date;
5. import java.util.List;
6.
7. public class Author implements Identifiable {
8.
9. private Long id;
10. private Name name;
11. private Date birthdate;
12. private String[] keywords;
13. private List<Book> books = new ArrayList<Book>();
14.
15. public Author() {
16. }
17.
18. public Date getBirthdate() {
19. return birthdate;
20. }
21.
22. public void setBirthdate(Date birthdate) {
23. this.birthdate = birthdate;
24. }
25.
26. public List<Book> getBooks() {
27. return books;
28. }
29.
30. public void setBooks(List<Book> books) {
31. this.books = books;
32. }
33.
34. public void addBook(Book book) {
35. books.add(book);
36. }
37.
38. public Long getId() {
39. return id;
40. }
41.
42. public void setId(Long id) {
43. this.id = id;
44. }
45.
46. public Name getName() {
47. return name;
48. }
49.
50. public void setName(Name name) {
51. this.name = name;
52. }
53.
54. public String[] getKeywords() {
55. return keywords;
56. }
57.
58. public void setKeywords(String[] keywords) {
59. this.keywords = keywords;
60. }
61.
62. public String toString() {
63. return name.toString();
64. }
65. }
Book.java
1. package com.tutorial;
2.
3. import java.util.Date;
4.
5. public class Book implements Identifiable {
6.
7. private Long id;
8. private String title;
9. private Date publishDate;
10. private String[] keywords;
11. private String summary;
12.
13. public Book() {
14. }
15.
16. public Book(String title, Date publishDate, String summary, String[] keywords) {
17. this.title = title;
18. this.publishDate = publishDate;
19. this.summary = summary;
20. this.keywords = keywords;
21. }
22.
23. public String[] getKeywords() {
24. return keywords;
25. }
26.
27. public void setKeywords(String[] keywords) {
28. this.keywords = keywords;
29. }
30.
31. public Date getPublishDate() {
32. return publishDate;
33. }
34.
35. public void setPublishDate(Date publishDate) {
36. this.publishDate = publishDate;
37. }
38.
39. public String getSummary() {
40. return summary;
41. }
42.
43. public void setSummary(String summary) {
44. this.summary = summary;
45. }
46.
47. public String getTitle() {
48. return title;
49. }
50.
51. public void setTitle(String title) {
52. this.title = title;
53. }
54.
55. public Long getId() {
56. return id;
57. }
58.
59. public void setId(Long id) {
60. this.id = id;
61. }
62.
63. public String toString() {
64. return title;
65. }
66. }
Identifiable.java
1. package com.tutorial;
2.
3. public interface Identifiable {
4.
5. Long getId();
6. }
Name.java
1. package com.tutorial;
2.
3. public class Name {
4.
5. private String title;
6. private String firstName;
7. private String lastName;
8.
9. public Name() {
10. }
11.
12. public Name(String title, String firstName, String lastName) {
13. this.title = title;
14. this.firstName = firstName;
15. this.lastName = lastName;
16. }
17.
18. public String getFirstName() {
19. return firstName;
20. }
21.
22. public void setFirstName(String firstName) {
23. this.firstName = firstName;
24. }
25.
26. public String getLastName() {
27. return lastName;
28. }
29.
30. public void setLastName(String lastName) {
31. this.lastName = lastName;
32. }
33.
34. public String getTitle() {
35. return title;
36. }
37.
38. public void setTitle(String title) {
39. this.title = title;
40. }
41.
42. public boolean equals(Object other) {
43.
44. if (this == other) {
45. return true;
46. }
47.
48. if (!(other instanceof Name)) {
49. return false;
50. }
51.
52. Name otherName = (Name) other;
53. if (title != null) {
54. if (!title.equals(otherName.getTitle())) {
55. return false;
56. }
57. }
58. if (firstName != null) {
59. if (!firstName.equals(otherName.getFirstName())) {
60. return false;
61. }
62. }
63. if (lastName != null) {
64. if (!lastName.equals(otherName.getLastName())) {
65. return false;
66. }
67. }
68. return true;
69. }
70.
71. public int hashCode() {
72. int hash = 1;
73. hash = hash * 31 + title == null ? 0 : title.hashCode();
74. hash = hash * 31 + firstName == null ? 0 : firstName.hashCode();
75. hash = hash * 31 + lastName == null ? 0 : lastName.hashCode();
76. return hash;
77. }
78.
79. public String toString() {
80. return title + ” ” + ” ” + firstName + ” ” + lastName;
81. }
82. }
Library.java
1. package com.tutorial;
2.
3. public final class Library {
4.
5. public static final class Group {
6. public static final String Id = “library”;
7. public static final String DispayName = “Library Meta Data”;
8. public static final String Uri = “http://compass/toturial“;
9. }
10.
11. public static final class Alias {
12.
13. public static final class Book {
14. public static final String Id = “book”;
15. public static final String Name = “book”;
16. public static final String DisplayName = “Book”;
17. public static final String Uri = “http://compass/toturial/alias/book“;
18. public static final String GroupId = “library”;
19. }
20.
21. public static final class Name {
22. public static final String Id = “name”;
23. public static final String Name = “name”;
24. public static final String DisplayName = “Name”;
25. public static final String Uri = “http://compass/toturial/alias/name“;
26. public static final String GroupId = “library”;
27. }
28.
29. public static final class Author {
30. public static final String Id = “author”;
31. public static final String Name = “author”;
32. public static final String DisplayName = “Author”;
33. public static final String Uri = “http://compass/toturial/alias/author“;
34. public static final String GroupId = “library”;
35. }
36.
37. }
38.
39. public static final class MetaData {
40.
41. public static final class Summary {
42. public static final String Id = “summary”;
43. public static final String Name = “summary”;
44. public static final String DisplayName = “Summary”;
45. public static final String Uri = “http://compass/toturial/summary“;
46. public static final String GroupId = “library”;
47. }
48.
49. public static final class Keyword {
50. public static final String Id = “keyword”;
51. public static final String Name = “keyword”;
52. public static final String DisplayName = “Keyword”;
53. public static final String Uri = “http://compass/toturial/keyword“;
54. public static final String GroupId = “library”;
55. }
56.
57. public static final class PublishDate {
58. public static final String Id = “publishDate”;
59. public static final String Name = “publish”;
60. public static final String DisplayName = “Publish Date”;
61. public static final String Uri = “http://compass/toturial/publishDate“;
62. public static final String GroupId = “library”;
63. }
64.
65. public static final class Title {
66. public static final String Id = “title”;
67. public static final String Name = “title”;
68. public static final String DisplayName = “Title”;
69. public static final String Uri = “http://compass/toturial/title“;
70. public static final String GroupId = “library”;
71. }
72.
73. public static final class Type {
74. public static final String Id = “type”;
75. public static final String Name = “type”;
76. public static final String DisplayName = “Type”;
77. public static final String Uri = “http://compass/toturial/type“;
78. public static final String GroupId = “library”;
79. }
80.
81. public static final class TitleName {
82. public static final String Id = “titleName”;
83. public static final String Name = “titleName”;
84. public static final String DisplayName = “Title Name”;
85. public static final String Uri = “http://compass/toturial/titleName“;
86. public static final String GroupId = “library”;
87. }
88.
89. public static final class Isbn {
90. public static final String Id = “isbn”;
91. public static final String Name = “name”;
92. public static final String DisplayName = “ISBN”;
93. public static final String Uri = “http://compass/toturial/name“;
94. public static final String GroupId = “library”;
95. }
96.
97. public static final class Name {
98. public static final String Id = “name”;
99. public static final String Name = “name”;
100. public static final String DisplayName = “Name”;
101. public static final String Uri = “http://compass/toturial/name“;
102. public static final String GroupId = “library”;
103. }
104.
105. public static final class Birthdate {
106. public static final String Id = “birthdate”;
107. public static final String Name = “birthdate”;
108. public static final String DisplayName = “Birthdate”;
109. public static final String Uri = “http://compass/toturial/birthdate“;
110. public static final String GroupId = “library”;
111. public static final String Format = “yyyy/MM/dd”;
112. }
113.
114. public static final class FirstName {
115. public static final String Id = “firstName”;
116. public static final String Name = “firstName”;
117. public static final String DisplayName = “First Name”;
118. public static final String Uri = “http://compass/toturial/firstName“;
119. public static final String GroupId = “library”;
120. }
121.
122. public static final class LastName {
123. public static final String Id = “lastName”;
124. public static final String Name = “lastName”;
125. public static final String DisplayName = “Last Name”;
126. public static final String Uri = “http://compass/sample/library/lastName“;
127. public static final String GroupId = “library”;
128. }
129. }
130. }
Author.cpm.xml
1. <?xml version=”1.0″?>
2. <!DOCTYPE compass-core-mapping PUBLIC
3. “-//Compass/Compass Core Mapping DTD 2.0//EN”
4. “http://www.compass-project.org/dtd/compass-core-mapping-2.0.dtd“>
5.
6. <compass-core-mapping package=”com.tutorial”>
7.
8. <class name=”Author” alias=”${library.author}”>
9.
10. <id name=”id” />
11.
12. <constant>
13. <meta-data>${library.type}</meta-data>
14. <meta-data-value>${library.type.mdPerson}</meta-data-value>
15. <meta-data-value>${library.type.mdAuthor}</meta-data-value>
16. </constant>
17.
18. <property name=”keywords”>
19. <meta-data boost=”2″>${library.keyword}</meta-data>
20. </property>
21.
22. <component name=”name” ref-alias=”${library.name.md}” />
23.
24. <property name=”birthdate”>
25. <meta-data>${library.birthdate}</meta-data>
26. </property>
27.
28. <reference name=”books” ref-alias=”${library.book}” />
29.
30. </class>
31.
32. <class name=”Name” alias=”${library.name}” root=”false”>
33. <property name=”title”>
34. <meta-data>${library.titleName}</meta-data>
35. </property>
36. <property name=”firstName”>
37. <meta-data>${library.firstName}</meta-data>
38. <meta-data>${library.name}</meta-data>
39. </property>
40. <property name=”lastName”>
41. <meta-data>${library.lastName}</meta-data>
42. <meta-data>${library.name}</meta-data>
43. </property>
44. </class>
45.
46. </compass-core-mapping>
Book.cpm.xml
1. <?xml version=”1.0″?>
2. <!DOCTYPE compass-core-mapping PUBLIC
3. “-//Compass/Compass Core Mapping DTD 2.0//EN”
4. “http://www.compass-project.org/dtd/compass-core-mapping-2.0.dtd“>
5.
6. <compass-core-mapping package=”com.tutorial”>
7.
8. <class name=”Book” alias=”${library.book}”>
9.
10. <id name=”id” />
11.
12. <property name=”keywords”>
13. <meta-data boost=”2″>${library.keyword}</meta-data>
14. </property>
15.
16. <property name=”title”>
17. <meta-data>${library.title}</meta-data>
18. </property>
19.
20. <property name=”publishDate”>
21. <meta-data>${library.publishDate}</meta-data>
22. </property>
23.
24. <property name=”summary”>
25. <meta-data>${library.summary}</meta-data>
26. </property>
27.
28. </class>
29.
30. </compass-core-mapping>
library.cmd.xml
1. <?xml version=”1.0″?>
2. <!DOCTYPE compass-core-meta-data PUBLIC
3. “-//Compass/Compass Core Meta Data DTD 2.0//EN”
4. “http://www.compass-project.org/dtd/compass-core-meta-data-2.0.dtd“>
5.
6. <compass-core-meta-data>
7.
8. <meta-data-group id=”library” displayName=”Library Meta Data”>
9.
10. <description>Library Meta Data</description>
11. <uri>http://compass/toturial</uri>
12.
13. <alias id=”author” displayName=”Author”>
14. <description>Author alias</description>
15. <uri>http://compass/toturial/alias/author</uri>
16. <name>author</name>
17. </alias>
18.
19. <alias id=”name” displayName=”Name”>
20. <description>Name alias</description>
21. <uri>http://compass/toturial/alias/name</uri>
22. <name>name</name>
23. </alias>
24.
25. <alias id=”book” displayName=”Book”>
26. <description>Book alias</description>
27. <uri>http://compass/toturial/alias/book</uri>
28. <name>book</name>
29. </alias>
30.
31. <meta-data id=”type” displayName=”Type”>
32. <description>Type of an entity in the system</description>
33. <uri>http://compass/toturial/type</uri>
34. <name>type</name>
35. <value id=”mdPerson”>person</value>
36. <value id=”mdAuthor”>author</value>
37. </meta-data>
38.
39. <meta-data id=”keyword” displayName=”Keyword”>
40. <description>Keyword associated with an entity</description>
41. <uri>http://compass/toturial/keyword</uri>
42. <name>keyword</name>
43. </meta-data>
44.
45. <meta-data id=”name” displayName=”Name”>
46. <description>The name of a person (firstName or lastName) without the title</description>
47. <uri>http://compass/toturial/name</uri>
48. <name>name</name>
49. </meta-data>
50.
51. <meta-data id=”firstName” displayName=”First Name”>
52. <description>The first name of a person</description>
53. <uri>http://compass/toturial/firstName</uri>
54. <name>firstName</name>
55. </meta-data>
56.
57. <meta-data id=”lastName” displayName=”Last Name”>
58. <description>The last name of a person</description>
59. <uri>http://compass/toturial/lastName</uri>
60. <name>lastName</name>
61. </meta-data>
62.
63. <meta-data id=”titleName” displayName=”Title Name”>
64. <description>The title of a person</description>
65. <uri>http://compass/toturial/titleName</uri>
66. <name>titleName</name>
67. </meta-data>
68.
69. <meta-data id=”birthdate” displayName=”Birthdate”>
70. <description>The birthdate of a person</description>
71. <uri>http://compass/toturial/birthdate</uri>
72. <name format=”yyyy/MM/dd”>birthdate</name>
73. </meta-data>
74.
75. <meta-data id=”isbn” displayName=”ISBN”>
76. <description>ISBN of the book</description>
77. <uri>http://compass/toturial/name</uri>
78. <name>name</name>
79. </meta-data>
80.
81. <meta-data id=”title” displayName=”Title”>
82. <description>The title of a book or an article</description>
83. <uri>http://compass/toturial/title</uri>
84. <name>title</name>
85. </meta-data>
86.
87. <meta-data id=”publishDate” displayName=”Publish Date”>
88. <description>The publish date of a book or an article</description>
89. <uri>http://compass/toturial/publishDate</uri>
90. <name>publish</name>
91. </meta-data>
92.
93. <meta-data id=”summary” displayName=”Summary”>
94. <description>The summary of a book or an article</description>
95. <uri>http://compass/toturial/summary</uri>
96. <name>summary</name>
97. </meta-data>
98.
99. </meta-data-group>
100.
101. </compass-core-meta-data>
compass.cfg.xml
1. <!DOCTYPE compass-core-configuration PUBLIC
2. “-//Compass/Compass Core Configuration DTD 2.0//EN”
3. “http://www.compass-project.org/dtd/compass-core-configuration-2.0.dtd“>
4.
5. <compass-core-configuration>
6.
7. <compass>
8.
9. <setting name=”compass.engine.connection”>target/index</setting>
10.
11. <meta-data resource=”com/tutorial/library.cmd.xml” />
12.
13. </compass>
14.
15. </compass-core-configuration>
测试代码:
LibraryTests.java
1. package com.demo;
2.
3. import java.text.SimpleDateFormat;
4. import java.util.Calendar;
5.
6. import org.compass.core.Compass;
7. import org.compass.core.CompassCallbackWithoutResult;
8. import org.compass.core.CompassException;
9. import org.compass.core.CompassHits;
10. import org.compass.core.CompassQueryBuilder;
11. import org.compass.core.CompassSession;
12. import org.compass.core.CompassTemplate;
13. import org.compass.core.CompassTransaction;
14. import org.compass.core.Resource;
15. import org.compass.core.config.CompassConfiguration;
16.
17. import com.tutorial.Author;
18. import com.tutorial.Book;
19. import com.tutorial.Identifiable;
20. import com.tutorial.Library;
21. import com.tutorial.Name;
22.
23. public class LibraryTests {
24.
25. public static void main(String[] args){
26.
27. CompassConfiguration config = new CompassConfiguration();
28. config.configure(“/com/tutorial/compass.cfg.xml”);
29. config.addClass(Author.class).addClass(Book.class);
30. Compass compass = config.buildCompass();
31. compass.getSearchEngineIndexManager().deleteIndex();
32. compass.getSearchEngineIndexManager().createIndex();
33.
34. try {
35. setUpData(compass);
36. } catch (Exception e) {
37. e.printStackTrace();
38. }
39.
40. CompassSession session = compass.openSession();
41. CompassTransaction tx = null;
42. try {
43. tx = session.beginTransaction();
44. Author author = (Author) session.load(Author.class, 1);
45.
46. SimpleDateFormat sdf = new SimpleDateFormat(Library.MetaData.Birthdate.Format);
47. System.out.println(sdf.format(author.getBirthdate()));
48. System.out.println(author.getName().getFirstName());
49. System.out.println(author.getBooks().size());
50.
51. //delete it
52. //session.delete(author);
53.
54. tx.commit();
55. } catch (Exception e) {
56. if (tx != null) {
57. tx.rollback();
58. }
59. } finally {
60. session.close();
61. }
62.
63. CompassTemplate compassTemplate = new CompassTemplate(compass);
64. compassTemplate.execute(new CompassCallbackWithoutResult() {
65. protected void doInCompassWithoutResult(CompassSession session) throws CompassException {
66. String query = “fiercely”;
67. CompassHits hits = session.find(query);
68.
69. System.out.println(“Found [" + hits.getLength() + "] hits for [" + query + "] query”);
70. System.out.println(“======================================================”);
71. for (int i = 0; i < hits.getLength(); i++) {
72. Object value = hits.data(i);
73. Resource resource = hits.resource(i);
74. System.out.println(“ALIAS [" + resource.getAlias() + "] ID [" + ((Identifiable) value).getId() + "] SCORE [" + hits.score(i) + "]“);
75. System.out.println(“:::: ” + value);
76. System.out.println(“”);
77. }
78.
79. hits.close();
80. }
81. });
82.
83. compassTemplate = new CompassTemplate(compass);
84. compassTemplate.execute(new CompassCallbackWithoutResult() {
85. protected void doInCompassWithoutResult(CompassSession session) throws CompassException {
86.
87. CompassQueryBuilder queryBuilder = session.queryBuilder();
88. CompassHits hits = queryBuilder.bool().addMust(queryBuilder.term(“book.id”, 1))
89. //.addMustNot(queryBuilder.term(“author.books.id”, 1))
90. .toQuery().hits();
91.
92. System.out.println(“Found [" + hits.getLength() + "] hits for [" + "Jack" + "] query”);
93. System.out.println(“======================================================”);
94. for (int i = 0; i < hits.getLength(); i++) {
95. Object value = hits.data(i);
96. Resource resource = hits.resource(i);
97. System.out.println(“ALIAS [" + resource.getAlias() + "] ID [" + ((Identifiable) value).getId() + "] SCORE [" + hits.score(i) + "]“);
98. System.out.println(“:::: ” + value);
99. System.out.println(“”);
100. }
101.
102. hits.close();
103. }
104. });
105.
106. }
107.
108. public static void setUpData(Compass compass) throws Exception {
109.
110. CompassSession session = compass.openSession();
111. CompassTransaction tx = session.beginTransaction();
112.
113. Author jackLondon = new Author();
114. jackLondon.setId(new Long(1));
115. jackLondon.setName(new Name(“Mr”, “Jack”, “London”));
116. Calendar c = Calendar.getInstance();
117. c.set(1876, 0, 12);
118. jackLondon.setBirthdate(c.getTime());
119. jackLondon.setKeywords(new String[] { “american author” });
120.
121. Book whiteFang = new Book();
122. whiteFang.setId(new Long(1));
123. whiteFang.setTitle(“White Fang”);
124. c.set(1906, 0, 1);
125. whiteFang.setPublishDate(c.getTime());
126. whiteFang.setSummary(“The remarkable story of a fiercely independent creature of the wild”);
127. whiteFang.setKeywords(new String[] { “jack london”, “call of the wild” });
128. jackLondon.addBook(whiteFang);
129. session.save(whiteFang);
130.
131. Book callOfTheWild = new Book();
132. callOfTheWild.setId(new Long(2));
133. callOfTheWild.setTitle(“The Call of the Wild”);
134. c.set(1903, 0, 1);
135. callOfTheWild.setPublishDate(c.getTime());
136. callOfTheWild.setSummary(“The Call of the Wild is a tale about unbreakable spirit”);
137. callOfTheWild.setKeywords(new String[] { “jack london”, “buck”, “white fang” });
138. jackLondon.addBook(callOfTheWild);
139. session.save(callOfTheWild);
140.
141. session.save(jackLondon);
142.
143. Author jamesClavell = new Author();
144. jamesClavell.setId(new Long(2));
145. jamesClavell.setName(new Name(“Mr”, “James”, “Clavell”));
146. c.set(1924, 9, 10);
147. jamesClavell.setBirthdate(c.getTime());
148. jamesClavell.setKeywords(new String[] { “far east”, “shogun”, “japan”, “hong kong” });
149.
150. Book shogun = new Book();
151. shogun.setId(new Long(3));
152. shogun.setTitle(“Shogun”);
153. c.set(1975, 0, 1);
154. shogun.setPublishDate(c.getTime());
155. shogun.setSummary(“A story of a hero who is not a person but a place and a time,”
156. + ” medieval Japan on the threshold of becoming a sea power”);
157. shogun.setKeywords(new String[] { “james clavell”, “Blackthorne”, “Toranaga”, “japan” });
158. jamesClavell.addBook(shogun);
159. session.save(shogun);
160.
161. Book taipan = new Book();
162. taipan.setId(new Long(4));
163. taipan.setTitle(“Taipan”);
164. c.set(1966, 0, 1);
165. taipan.setPublishDate(c.getTime());
166. taipan.setSummary(“Tai-Pan is chinese for /”supreme leader/”. This is the man with real power ”
167. + “to his hands. And such a Tai-Pan is Dirk Struan who is obsessed by his plan to make Hong Kong ”
168. + “the /”jewel in the crown of her British Majesty/”. In 1841 he achieves his goal but he has many ”
169. + “enemies who try to destroy his plans. Will they succeed?”);
170. taipan.setKeywords(new String[] { “james clavell”, “Dirk Struan”, “joss”, “hong kong” });
171. jamesClavell.addBook(taipan);
172.
173. session.save(taipan);
174.
175. session.save(jamesClavell);
176.
177. tx.commit();
178. session.close();
179. }
180. }
发表评论
-
Solr4.0+IKAnalyzer中文分词安装
2012-11-29 19:14 1586有近2年没接触Solr跟Lucene ... -
solr搜索打分规制排序
2012-09-26 21:58 2407solr使用了Lucene的内核,也继承了Luce ... -
solr DataimportHanler
2012-09-22 17:01 1248大多数的应用程序将数据存储在关系数据库、xml文件 ... -
solr第一弹 autocomplete(自动补全)
2012-09-22 16:38 1466百度和google中都有 ... -
全文搜索服务器solr之客户端 - solrj二次开发
2012-09-21 09:07 4867Solrj已经是很强大的solr客户端了。它本身就包装了h ... -
Solr Data Import 快速入门
2012-09-20 14:32 835原文出处:http://blog.chenl ... -
JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误
2012-09-20 11:36 1794问题一:出现控制台坏的响应错误一Bad reque ... -
Solr学习总结
2012-09-20 10:06 6440一、 SOLR搭建企业搜索平台 运行环境: 运行容器:Tomc ... -
olr 的客户端调用solrj 建索引+分页查询
2012-09-20 08:54 1936在 solr 3.5 配置及应用(一) 讲过一了 sol ... -
Solr笔记
2012-09-19 23:07 1292... -
Apache Solr 初级教程(介绍、安装部署、Java接口、中文分词)
2012-09-19 22:56 1771Apache Solr 介绍 Solr 是 ... -
lucene3.0 分页显示与高亮显示(转)
2012-09-19 11:44 1733分页类 Java代码 pac ... -
lucene3 中文IKAnalyzer分词例子
2012-09-10 13:37 1184import java.io.IOException; im ... -
Lucene3.0.1 学习笔记
2012-09-08 08:57 955不管怎么说,搜索都是非 ... -
compass站内搜索
2012-09-05 08:49 1002compass站内搜索: 1.去官方网站下载compass的 ... -
Spring + Compass + paoding配置
2012-09-05 08:50 1057Spring + Compass + paoding配置: ... -
配置compass的索引位置为相对路径
2012-09-01 10:49 1370配置compass的索引位置为相对路径: Compass是对 ... -
lucene创建索引
2012-09-01 10:48 1091lucene创建索引: import java.io.Fi ... -
Lucene demo调试运行:
2012-09-01 10:47 2030Lucene demo调试运行: 运行环境: JDK ... -
SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎
2012-09-01 10:43 3461前两天看到了一个中国新闻网,这个网站的搜索form的a ...
相关推荐
标题 "compass2简单例子" 指向的是一个关于 Compass 的使用教程,Compass 是一个基于 Sass 的 CSS 预处理器。它简化了编写复杂的 CSS3 规则,并提供了易于管理的项目结构。这个简单的例子可能包括如何设置 Compass、...
《跋山涉水解析compass官方sample》 在深入探索编程世界的过程中,理解并掌握各种工具的使用至关重要。本文将详细解读“compass”这一强大的CSS预处理器,并通过分析其官方提供的samples,来帮助开发者更好地理解其...
【compass完整可用项目】是一个基于特定技术栈的软件开发项目,该项目的核心是Compass库,一个与Lucene紧密集成的全文搜索引擎工具。Compass提供了一种简单的方式来在Java应用程序中集成全文搜索功能,使得开发者...
COMPASS 教程Pdf COMPASS 是一款专业的油气田设计和生产软件,主要用于油气田的规划、设计和生产过程。下面是 COMPASS 的一些重要知识点: 1. COMPASS WELLPLAN FOR WINDOWS 功能简介:COMPASS 的核心功能包括 ...
Compass是MongoDB的官方图形界面工具,它提供了一个用户友好的界面,用于可视化数据库和集合,帮助开发者和管理员进行数据探索、查询构建、性能分析以及基本的数据库管理。通过Compass,用户可以轻松地浏览和操作...
### Compass 使用详解 #### 一、Compass 概述 Compass 是一款开源的 Java 库,用于简化 Lucene 的使用。它通过提供类似于 Hibernate 的对象关系映射(ORM)功能,使得开发者能够更加轻松地将 Java 对象映射到 ...
Compass搜索引擎技术是一种基于Lucene的全文检索框架,它提供了更高级别的API和集成机制,使得在Java应用程序中实现搜索引擎功能变得更加便捷。Compass的主要目标是将全文索引能力无缝地融入到现有的业务应用程序中...
MongoDB Compass是MongoDB官方提供的一款图形化管理工具,它为MongoDB数据库的使用者提供了直观的界面,方便进行数据浏览、查询、操作以及性能分析。MongoDB Compass 1.15.1是这个系列的一个版本,它无需安装,可以...
基于Lucene的Compass框架详解-Java 一、Compass框架概述 Compass是一个高性能的开源Java搜索引擎框架,旨在简化应用程序与搜索引擎之间的集成过程。它不仅利用了顶级的Lucene搜索引擎的强大功能,还融合了诸如...
### Java搜索 Compass 资料知识点 #### 一、Compass 概述 Compass 是一个为 Java 应用程序提供全文检索功能的框架。它能够帮助开发者在 Java 应用程序中轻松实现复杂的搜索需求,并且具有较高的性能。Compass 基于...
**Compass:Lucene的高级封装工具** Compass是一款基于Apache Lucene的全文搜索引擎库,它为Java开发者提供了一个高级的、易于使用的搜索框架。在Java应用中集成搜索引擎功能时,Compass提供了一种简化的方式来管理...
Compass全文检索系列之一:Compass入门 在IT领域,全文检索已经成为数据分析和信息检索的重要技术,尤其是在大数据时代。本文将介绍Compass,一个基于Lucene的全文搜索引擎库,为Java开发者提供了一种简单易用的...
MongoDB Compass是MongoDB公司开发的一款强大的图形化管理工具,专为MongoDB数据库设计,用于帮助用户更加直观地理解和操作NoSQL数据库。本压缩包文件"mongodb-compass-1.17.0-win32-x64"包含了适用于Windows 32位和...
Compass 是一个全文搜索引擎库,它是对 Lucene 的封装,为 Java 应用提供了一种简单易用的接口。在 Compass 中,Annotation 是一种元数据注解方式,它允许开发者在对象模型上直接定义搜索映射,使得对象与索引之间的...
【Compass原理深入学习笔记】 Compass是一款基于Apache Lucene的全文搜索引擎框架,它为开发者提供了更高级别的抽象层,简化了搜索引擎的集成工作。在理解Compass之前,我们需要先了解全文检索的基本概念和原理。 ...
Lucene的核心功能包括文档索引、文本解析、索引搜索等。开发者可以根据需要自定义索引规则,从而实现更加灵活的搜索功能。 - **Compass**:Compass被定义为一个面向域模型的搜索框架,支持对对象、持久化对象以及...
这个是compass整合ssh的例子,最重要的一点是一对多的关联这方面,寡人整了一天才把compass关联搞定,网上有关compass的资源太少了,不想让以后的人这么为难,咱就上传个我自己的练习吧,有较为详细的注释,希望能对...