Today I'm trying to use the search API in Java SDK 1.7.0. When I try to use
the snippet function, I cannot get it work correctly, here is my code:
IndexSpec indexSpec = IndexSpec.newBuilder().setName("test").setConsistency(
Consistency.PER_DOCUMENT).build();
Index index = SearchServiceFactory.getSearchService().getIndex(indexSpec);
Document doc = Document.newBuilder().addField(Field.newBuilder().setName(
"title").setText("Google App Engine Search API"))
.addField(Field.newBuilder().setName("content").setText("The Google App
Engine Search API provides a simple model for indexing and searching data,
and displaying the results."))
.build();
index.add(doc);
QueryOptions options = QueryOptions.newBuilder().addExpressionToReturn(
FieldExpression.newBuilder().setName("snippet").setExpression("snippet(\"searching\",
content)").build())
.setFieldsToReturn("title").build();
Query query = Query.newBuilder().setOptions(options).build(
"content:searching");
Results<ScoredDocument> results = index.search(query);
for (ScoredDocument _doc : results) {
List<Field> fields = _doc.getExpressions();
for (Field field : fields) {
System.out.println(field.getName() + ":" + field.getText());
}
System.out.println(_doc.getField("title"));
System.out.println(_doc.getField("content"));
System.out.println(_doc.getField("snippet"));
}
output:
snippet:null
[Field(name=title, value=Google App Engine Search API, type=TEXT)]
null
null
I've also tried the following queryoptions and still cannot get the snippet:
QueryOptions.newBuilder().setFieldsToSnippet("content").
addExpressionToReturn(FieldExpression.newBuilder().setName("snippet").
setExpression("snippet(\"searching\", content)").build())
.setFieldsToReturn("title").build();
QueryOptions.newBuilder().setFieldsToSnippet("content").setFieldsToReturn(
"title").build();
QueryOptions.newBuilder().setFieldsToSnippet("content").setFieldsToReturn(
"title", "content").build();
.. and many other
I've tried to run it on local machine with eclipse indigo SR2 (win7 x64)
and deploy it to GAE and they show the same result.
Did I missed anything? Please help, thanks.
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-appengine/-/jIlghfPYREEJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.