0

有没有办法搜索在某个字段的前 10 个单词中包含一个单词的所有文档?

谢谢

4

3 回答 3

1

使用具有最大令牌数量的参数编写分析器真的很容易,该参数将过滤剩余的令牌使其可重用。
您可以轻松修改 schema.xml 以将原始字段内容复制到此字段并使用此字段进行搜索。

于 2013-05-23T04:19:06.067 回答
1

如果您希望它始终是您所定位的特定字段的前十个单词,也许您可​​以在您的字段中添加一个schema.xml仅包含该字段的前十个单词的字段。

于 2013-05-22T18:26:09.577 回答
-1

这样的事情应该这样做:

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;
}

于 2013-05-22T18:37:24.173 回答