有没有办法搜索在某个字段的前 10 个单词中包含一个单词的所有文档?
谢谢
使用具有最大令牌数量的参数编写分析器真的很容易,该参数将过滤剩余的令牌使其可重用。
您可以轻松修改 schema.xml 以将原始字段内容复制到此字段并使用此字段进行搜索。
如果您希望它始终是您所定位的特定字段的前十个单词,也许您可以在您的字段中添加一个schema.xml
仅包含该字段的前十个单词的字段。
这样的事情应该这样做:
public boolean doesWordExist(String word, String path) {
String line = null;
int count = 0;
String token = null;
BufferedReader br = null;
File folder = new File(path);
File[] listOfFiles = folder.listFiles(/*use filename filter here*/);
for (int i = 0; i < listOfFiles.length; i++) {
count=0;
if (listOfFiles[i].isFile()) {
try {
br = new BufferedReader(new InputStreamReader(
new FileInputStream(listOfFiles[i].getName())));
while ((line = br.readLine()) != null && count < 10) {
StringTokenizer tknz = new StringTokenizer(line, "");
while (tknz.hasMoreTokens() && count < 10 /* variable */) {
token = tknz.nextToken();
if (token.equalsIgnoreCase(word)) {
return true;
}
count++;
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}// if
}//for
return false;
}