- 浏览: 549448 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
jsdsh:
自己写的就是不一样.
Spring3 MVC 注解(二)---@RequestMapping -
jsdsh:
吼,非常吼.学习了
Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释 -
爱情是一种错觉:
我爱你 i love 你[color=red][/color] ...
Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释 -
fs08ab:
大哥,目前这个问题有什么可靠的解决方案吗
@ResponseBody注解 -
lhs295988029:
说的很清楚,明白了~
Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释
下面的代码来自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. }
代码如下:
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问题
2010-06-03 13:54 0应用中用到了compass+spring+hibernate. ... -
Compass---Search Engine (1)
2010-03-29 16:32 0Compass核心提供了一个 ... -
compass 配置
2010-03-29 15:51 0<bean id="compass" ... -
compass学习笔记
2010-02-20 16:53 1841Compass概念: 1:Compass相 ... -
compass----集成站内搜索
2009-12-24 16:53 13521.去官方网站下载compass的jar包,我用的的2.1版本 ... -
如何配置compass的索引位置为相对路径
2009-12-24 15:33 1578Compass是对lucene进行封装的java项目,使得在s ... -
ssh与compass结合的例子
2009-11-30 11:27 2033SSH把compass加进来是要加5个jar, comp ...
相关推荐
总的来说,MongoDB Compass 1.16版本是一个强大的数据库管理和开发工具,通过可视化方式提高了MongoDB的可操作性和易用性,简化了日常的数据库管理任务,同时也增强了数据分析和性能监控能力。无论是初学者还是经验...
标题 "compass2简单例子" 指向的是一个关于 Compass 的使用教程,Compass 是一个基于 Sass 的 CSS 预处理器。它简化了编写复杂的 CSS3 规则,并提供了易于管理的项目结构。这个简单的例子可能包括如何设置 Compass、...
在“compass2.1.4包”中,包含了 Compass 框架的版本 2.1.4,这个版本可能包含了性能优化、新功能以及对旧版的兼容性改进。 Lucene 是 Apache 软件基金会的一个开源项目,它是一个高性能、全文本搜索库。Lucene ...
Compass是MongoDB的官方图形界面工具,它提供了一个用户友好的界面,用于可视化数据库和集合,帮助开发者和管理员进行数据探索、查询构建、性能分析以及基本的数据库管理。通过Compass,用户可以轻松地浏览和操作...
《GPS/COMPASS组合变形测量性能分析》这篇文章主要探讨了在城市、露天矿区和峡谷等地形复杂区域,如何利用GPS和COMPASS(中国北斗卫星导航系统)的多星座组合来提高变形测量的精度和可靠性。GPS定位系统的性能很大...
【compass完整可用项目】是一个基于特定技术栈的软件开发项目,该项目的核心是Compass库,一个与Lucene紧密集成的全文搜索引擎工具。Compass提供了一种简单的方式来在Java应用程序中集成全文搜索功能,使得开发者...
本压缩包文件"mongodb-compass-1.17.0-win32-x64"包含了适用于Windows 32位和64位系统的MongoDB Compass 1.17.0版本。 MongoDB是一种流行的开源、文档型的分布式数据库系统,广泛应用于大数据存储、实时分析、...
MongoDB Compass 1.15.1是这个系列的一个版本,它无需安装,可以直接运行,这在许多情况下非常便捷,特别是对于那些希望快速试用或在不同环境中使用的用户。 MongoDB是一款开源的文档型数据库,它是NoSQL数据库的...
Compass搜索引擎技术是一种基于Lucene的全文检索框架,它提供了更高级别的API和集成机制,使得在Java应用程序中实现搜索引擎功能变得更加便捷。Compass的主要目标是将全文索引能力无缝地融入到现有的业务应用程序中...
在下载过程中,建议检查网站上的最新版本信息,以确保使用的Compass版本是最新的或至少是官方推荐的稳定版本。 #### 三、Compass 使用示例 在题目中提供的部分Java代码中,展示了一个名为`ProductInfo`的实体类,...
1. **安装与依赖**:将Compass库添加到项目中,根据所使用的ORM框架选择相应的版本。 2. **配置ORM集成**:配置Compass与ORM框架的连接,指定数据源和索引存储位置。 3. **定义映射**:为每个需要索引的实体类定义...
本压缩包"mongodb-compass-1.25.0-win32-x64_2.zip"包含的是适用于Windows 32位和64位系统的MongoDB Compass 1.25.0版本。以下是关于MongoDB Compass和其在MongoDB生态系统中的作用的详细说明: 1. **MongoDB ...
这个是compass整合ssh的例子,最重要的一点是一对多的关联这方面,寡人整了一天才把compass关联搞定,网上有关compass的资源太少了,不想让以后的人这么为难,咱就上传个我自己的练习吧,有较为详细的注释,希望能对...
COMPASS 教程Pdf COMPASS 是一款专业的油气田设计和生产软件,主要用于油气田的规划、设计和生产过程。下面是 COMPASS 的一些重要知识点: 1. COMPASS WELLPLAN FOR WINDOWS 功能简介:COMPASS 的核心功能包括 ...
MongoDB compass 1.12.4 下载 MongoDB 图形界面管理工具
本文将围绕“Compass”这一软件工具,深入探讨其在GPS数据处理中的应用及其重要性,同时解析2010年6月25日16时11分版本的Compass_Setup安装包中的核心内容。 Compass是一款专业的GPS数据处理软件,专为用户提供高效...
### Compass 使用详解 #### 一、Compass 概述 Compass 是一款开源的 Java 库,用于简化 Lucene 的使用。它通过提供类似于 Hibernate 的对象关系映射(ORM)功能,使得开发者能够更加轻松地将 Java 对象映射到 ...
mongodb compass 1.13.0版本的安装包,客官根据需求选择下载
Compass 是一个全文搜索引擎库,它是对 Lucene 的封装,为 Java 应用提供了一种简单易用的接口。在 Compass 中,Annotation 是一种元数据注解方式,它允许开发者在对象模型上直接定义搜索映射,使得对象与索引之间的...