🎨 替换 Lucene 失效方法 TokenSources.getAnyTokenStream 为 TokenSources.getTokenStream
This commit is contained in:
parent
1bf1041bb7
commit
e650e39d10
@ -156,12 +156,11 @@ public class LuceneServiceImpl implements LuceneService {
|
|||||||
float score = hit.score;
|
float score = hit.score;
|
||||||
Document hitDoc = searcher.doc(hit.doc);
|
Document hitDoc = searcher.doc(hit.doc);
|
||||||
// 获取到summary
|
// 获取到summary
|
||||||
String name = hitDoc.get("summary");
|
String summary = hitDoc.get("summary");
|
||||||
// 将查询的词和搜索词匹配,匹配到添加前缀和后缀
|
// 将查询的词和搜索词匹配,匹配到添加前缀和后缀
|
||||||
TokenStream tokenStream =
|
TokenStream tokenStream = TokenSources.getTokenStream("summary", searcher.getIndexReader().getTermVectors(id), summary, analyzer, -1);
|
||||||
TokenSources.getAnyTokenStream(searcher.getIndexReader(), id, "summary", analyzer);
|
|
||||||
// 传入的第二个参数是查询的值
|
// 传入的第二个参数是查询的值
|
||||||
TextFragment[] frag = highlighter.getBestTextFragments(tokenStream, name, false, 10);
|
TextFragment[] frag = highlighter.getBestTextFragments(tokenStream, summary, false, 10);
|
||||||
StringBuilder baikeValue = new StringBuilder();
|
StringBuilder baikeValue = new StringBuilder();
|
||||||
for (TextFragment textFragment : frag) {
|
for (TextFragment textFragment : frag) {
|
||||||
if ((textFragment != null) && (textFragment.getScore() > 0)) {
|
if ((textFragment != null) && (textFragment.getScore() > 0)) {
|
||||||
@ -173,8 +172,7 @@ public class LuceneServiceImpl implements LuceneService {
|
|||||||
|
|
||||||
// 获取到title
|
// 获取到title
|
||||||
String title = hitDoc.get("title");
|
String title = hitDoc.get("title");
|
||||||
TokenStream titleTokenStream =
|
TokenStream titleTokenStream = TokenSources.getTokenStream("title", searcher.getIndexReader().getTermVectors(id), title, analyzer, -1);
|
||||||
TokenSources.getAnyTokenStream(searcher.getIndexReader(), id, "title", analyzer);
|
|
||||||
TextFragment[] titleFrag =
|
TextFragment[] titleFrag =
|
||||||
highlighter.getBestTextFragments(titleTokenStream, title, false, 10);
|
highlighter.getBestTextFragments(titleTokenStream, title, false, 10);
|
||||||
StringBuilder titleValue = new StringBuilder();
|
StringBuilder titleValue = new StringBuilder();
|
||||||
|
@ -41,7 +41,8 @@ import java.util.concurrent.Executors;
|
|||||||
@Service
|
@Service
|
||||||
public class PortfolioLuceneServiceImpl implements PortfolioLuceneService {
|
public class PortfolioLuceneServiceImpl implements PortfolioLuceneService {
|
||||||
|
|
||||||
@Resource private PortfolioLuceneMapper portfolioLuceneMapper;
|
@Resource
|
||||||
|
private PortfolioLuceneMapper portfolioLuceneMapper;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -147,8 +148,7 @@ public class PortfolioLuceneServiceImpl implements PortfolioLuceneService {
|
|||||||
// 获取到summary
|
// 获取到summary
|
||||||
String summary = hitDoc.get("summary");
|
String summary = hitDoc.get("summary");
|
||||||
// 将查询的词和搜索词匹配,匹配到添加前缀和后缀
|
// 将查询的词和搜索词匹配,匹配到添加前缀和后缀
|
||||||
TokenStream tokenStream =
|
TokenStream tokenStream = TokenSources.getTokenStream("summary", searcher.getIndexReader().getTermVectors(id), summary, analyzer, -1);
|
||||||
TokenSources.getAnyTokenStream(searcher.getIndexReader(), id, "summary", analyzer);
|
|
||||||
// 传入的第二个参数是查询的值
|
// 传入的第二个参数是查询的值
|
||||||
TextFragment[] frag = highlighter.getBestTextFragments(tokenStream, summary, false, 10);
|
TextFragment[] frag = highlighter.getBestTextFragments(tokenStream, summary, false, 10);
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
@ -161,8 +161,7 @@ public class PortfolioLuceneServiceImpl implements PortfolioLuceneService {
|
|||||||
}
|
}
|
||||||
// 获取到title
|
// 获取到title
|
||||||
String title = hitDoc.get("title");
|
String title = hitDoc.get("title");
|
||||||
TokenStream titleTokenStream =
|
TokenStream titleTokenStream = TokenSources.getTokenStream("title", searcher.getIndexReader().getTermVectors(id), title, analyzer, -1);
|
||||||
TokenSources.getAnyTokenStream(searcher.getIndexReader(), id, "title", analyzer);
|
|
||||||
TextFragment[] titleFrag =
|
TextFragment[] titleFrag =
|
||||||
highlighter.getBestTextFragments(titleTokenStream, title, false, 10);
|
highlighter.getBestTextFragments(titleTokenStream, title, false, 10);
|
||||||
StringBuilder titleValue = new StringBuilder();
|
StringBuilder titleValue = new StringBuilder();
|
||||||
|
@ -133,13 +133,13 @@ public class UserLuceneServiceImpl implements UserLuceneService {
|
|||||||
int id = hit.doc;
|
int id = hit.doc;
|
||||||
float score = hit.score;
|
float score = hit.score;
|
||||||
Document hitDoc = searcher.doc(hit.doc);
|
Document hitDoc = searcher.doc(hit.doc);
|
||||||
// 获取到summary
|
// 获取到 signature
|
||||||
String name = hitDoc.get("signature");
|
String signature = hitDoc.get("signature");
|
||||||
// 将查询的词和搜索词匹配,匹配到添加前缀和后缀
|
// 将查询的词和搜索词匹配,匹配到添加前缀和后缀
|
||||||
TokenStream tokenStream =
|
TokenStream tokenStream = TokenSources.getTokenStream("signature", searcher.getIndexReader().getTermVectors(id), signature, analyzer, -1);
|
||||||
TokenSources.getAnyTokenStream(searcher.getIndexReader(), id, "signature", analyzer);
|
|
||||||
// 传入的第二个参数是查询的值
|
// 传入的第二个参数是查询的值
|
||||||
TextFragment[] frag = highlighter.getBestTextFragments(tokenStream, name, false, 10);
|
TextFragment[] frag = highlighter.getBestTextFragments(tokenStream, signature, false, 10);
|
||||||
StringBuilder baikeValue = new StringBuilder();
|
StringBuilder baikeValue = new StringBuilder();
|
||||||
for (TextFragment textFragment : frag) {
|
for (TextFragment textFragment : frag) {
|
||||||
if ((textFragment != null) && (textFragment.getScore() > 0)) {
|
if ((textFragment != null) && (textFragment.getScore() > 0)) {
|
||||||
@ -148,12 +148,11 @@ public class UserLuceneServiceImpl implements UserLuceneService {
|
|||||||
baikeValue.append(textFragment.toString());
|
baikeValue.append(textFragment.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 获取到title
|
// 获取到 nickname
|
||||||
String title = hitDoc.get("nickname");
|
String nickname = hitDoc.get("nickname");
|
||||||
TokenStream titleTokenStream =
|
TokenStream titleTokenStream = TokenSources.getTokenStream("nickname", searcher.getIndexReader().getTermVectors(id), nickname, analyzer, -1);
|
||||||
TokenSources.getAnyTokenStream(searcher.getIndexReader(), id, "nickname", analyzer);
|
|
||||||
TextFragment[] titleFrag =
|
TextFragment[] titleFrag =
|
||||||
highlighter.getBestTextFragments(titleTokenStream, title, false, 10);
|
highlighter.getBestTextFragments(titleTokenStream, nickname, false, 10);
|
||||||
StringBuilder titleValue = new StringBuilder();
|
StringBuilder titleValue = new StringBuilder();
|
||||||
for (int j = 0; j < titleFrag.length; j++) {
|
for (int j = 0; j < titleFrag.length; j++) {
|
||||||
if ((frag[j] != null)) {
|
if ((frag[j] != null)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user