powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Поиск по сайту на java
26 сообщений из 26, показаны все 2 страниц
Поиск по сайту на java
    #38482632
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как организовать свой поиск по сайту(но не гугл), если это web проект и контент находится в jsp файлах??
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38482653
organism
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38482667
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
organism,

а можете скинуть конкретный пример с применением lucene?
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38482678
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013, с таким подходом к разработке сайта тебе лучше кому-то заплатить чтоб за тебя всё сделали.
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38482682
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
причём тут заплатить
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38482685
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hibernate Search
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38482689
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38482736
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdm,

ооо, вот это помощь, спасибо вам!
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38482751
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
organismFyn2013,

http://lucene.apache.org/

Не, не Lucene, Solar
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38482753
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013organism,

а можете скинуть конкретный пример с применением lucene?

Ты Solr-то скачай, там примеры будут...
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38484160
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если у меня контент в jsp файлах, а не в базе данных, solr разве подойдёт для поиска по контенту на сайт?
и до выхода в жизнь солра, что использовали в java проэктах для поиска?
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38484254
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,

Как вариант, сделать HTTP-запрос и получить содержимое нужной страницы, например, при помощи URLConnection :
http://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
import java.net.*;
import java.io.*;

public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
        URL oracle = new URL("http://www.oracle.com/");
        URLConnection yc = oracle.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            System.out.println(inputLine); // построчный вывод всей страницы на экран
            // добавьте код для сравнения/поиска подстроки в строке
            // if (inputLine.contains("")) { }
        }
        in.close();
    }
}
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38484271
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013а если у меня контент в jsp файлах, а не в базе данных, solr разве подойдёт для поиска по контенту на сайт?
и до выхода в жизнь солра, что использовали в java проэктах для поиска?

Главное, чтобы у тебя были данные в каком-то структурированном виде, который он понимает. Потому что ему данные нужно будет скормить для индексации.
Например, подойдет Json.

Если у тебя нет данных в чистом виде, только текст html, тогда наверное и затевать все это бессмысленно...
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38484620
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

а вот эта тема для поиска что вы подсказали URL oracle = new URL(" http://www.oracle.com/") неплохая, но там он ищет только по конкретному адрессу, и если мне надо найти слово со странички например http://www.oracle.com/new , то он уже не найдёт слово нужного мне на ней, так же? это надо в коде задавать массив страничек всех? или я не знаю чего-то может пока что?
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38484635
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013это надо в коде задавать массив страничек всех?Да, задается список всех необходимых URL'ов в массиве/списке и поочередно/параллельно для каждого выполняется запрос.
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38484636
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38484935
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

ок, это получилось, но так ищется просто ж слово из массива ссылок. А возможно чтобы таким образом поиск осуществить - например


Поисковая фраза "автоматика" найдена в разделе:
Выставочно-консультационный центр

т.е. чтобы показать ссылку на раздел, где нашлось это слово..возможно такое с помощью URL сделать, не применяю solr и других поисковиков?
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38484940
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,

URLConnection'у нужен адрес и все, он может открыть несуществующую страницу и в ответе получить ошибку 404.
У Вас должен быть заранее сформирован список валидных адресов, по которым нужно пробежаться.

P.S.
Вы пытаетесь прикрутить поиск по страницам для своего сайта?
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38484969
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

да, пытаюсь, но не хочу запихивать контент в базу данных и разбираться в solr=)
вот я сделал такой код, но мне ещё надо прикрутить логику туда, чтобы он находил не только слово, но и указывал ссылку на раздел сайта, где это слово найдено:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
public class HrefMatch {

	public static void main(String[] args) {
     String[] argi = {"http://localhost:8080/site/home?ln=ru", "http://localhost:8080/site/home?ln=en"};
 
   for (int i = 0; i < argi.length; i++) { 
		
		try {

			// open reader for URL
	         InputStreamReader in = new InputStreamReader(new URL(argi[i]).openStream());
 
         // read contents into string builder
	         StringBuilder input = new StringBuilder();
	         int ch;
	         while ((ch = in.read()) != -1)
	            input.append((char) ch);
	 
	         // search for all occurrences of pattern
	         String patternString = "Copyright";
       Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE);
	         Matcher matcher = pattern.matcher(input);	       
   while (matcher.find())
         {
            int start = matcher.start();
	            int end = matcher.end();
	            String match = input.substring(start, end);
	            System.out.println(match);
	         }
      }
      catch (IOException e)
	      {
	         e.printStackTrace();
      }
      catch (PatternSyntaxException e)
	      {
         e.printStackTrace();
	      }
	   }
	  }
	}
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38485000
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
class HrefMatch {

    public static boolean search(String url, String word) {
        try {
            InputStreamReader in = new InputStreamReader(new URL(url).openStream());
            StringBuilder input = new StringBuilder();
            int ch;
            while ((ch = in.read()) != -1) {
                input.append((char) ch);
            }
            String patternString = word;
            Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE);
            Matcher matcher = pattern.matcher(input);
            return matcher.find();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (PatternSyntaxException e) {
            e.printStackTrace();
        }
        return false;
    }
    
    public static void main(String[] args) {
        String[] argi = { ... };
        for (int i = 0; i < argi.length; i++) {
            String word = "Copyright";
            if (search(argi[i], word)) {
                // Найдена фраза в argi[i]'ом разделе  
            }
        }
    }
}
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38485036
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, но если
if (search(argi[i], word)) {
// Найдена фраза в argi[i]'ом разделе

}


то argi[i] - это он покажет "Найдено в разделе http://localhost:8080/site/home ", а как чтобы отобразилось
"Найдено в разделе Автоматика " ? ну чтобы не просто адрресс показался, а название странички по этому адрессу
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38485054
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,

По тэгу title можно определить заголовок страницы
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38485074
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanFyn2013,

По тэгу title можно определить заголовок страницы
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
class HrefMatch {

    private static final Pattern TITLE = Pattern.compile("\\<title\\>(.*)\\<\\/title\\>", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);

    public static String search(String url, String word) {
        try {
            InputStreamReader in = new InputStreamReader(new URL(url).openStream());
            StringBuilder input = new StringBuilder();
            int ch;
            while ((ch = in.read()) != -1) {
                input.append((char) ch);
            }
            if (Pattern.compile(word, Pattern.CASE_INSENSITIVE).matcher(input).find()) {
                Matcher title = TITLE.matcher(input);
                if (title.find()) {
                    return title.group(1);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        } catch (PatternSyntaxException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
        String[] argi = { "http://yandex.ru", "http://rambler.ru", "http://google.ru" };
        for (int i = 0; i < argi.length; i++) {
            String result = search(argi[i], "2013");
            if (result != null) {
                System.out.println("<a href=\"" + argi[i] + "\">" + result + "</a>");
            }
        }
    }
}
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38485078
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
замечательно, спасибо вам!!!)
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38485115
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот только русские слова не находит
...
Рейтинг: 0 / 0
Поиск по сайту на java
    #38485124
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013вот только русские слова не находитНужно знать кодировку HTML-страницы
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Поиск по сайту на java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]