我正在使用SpanTerm Query来搜索lucene中的确切短语.但它似乎没有用.这是我的代码.
索引
IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(Version.LUCENE_30), false,IndexWriter.MaxFieldLength.UNLIMITED);
doc.add(new Field("contents", sb.toString(), Field.Store.YES, Field.Index.ANALYZED,Field.TermVector.WITH_POSITIONS_OFFSETS));
doc.add(new Field("imageid", imageDocument.getImageId(), Field.Store.YES, Field.Index.NOT_ANALYZED));
doc.add(new Field("title", imageDocument.getTitle(), Field.Store.YES, Field.Index.ANALYZED));
doc.add(new Field("country", imageDocument.getCountry(), Field.Store.YES, Field.Index.NOT_ANALYZED));
write.addDocument(doc);
Run Code Online (Sandbox Code Playgroud)
搜索
String sentence = searchParameters.get("searchExactWord");
String[] words = sentence.split(" ");
String queryNoWord = "";
int i = 0;
SpanTermQuery [] clause = new SpanTermQuery[words.length];
for (String word : words)
{
clause[i] = new SpanTermQuery(new Term("contents",word));
i++;
}
SpanNearQuery query = new SpanNearQuery(clause, 0, true);
booleanQuery.add(query, BooleanClause.Occur.MUST);
Run Code Online (Sandbox Code Playgroud)
如果我做错了,请指导我???
Prateek
我在IIS 7.0上运行一些站点.但昨天我的一位客户要我主持一个Java网站.我无法直接托管该网站所以我在端口8080上安装了tomcat服务器.每当浏览器发送该网站的请求时,它应该在内部重定向到我的tomcat.不应更新客户端URL.