Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Поиск по сайту на java / 25 сообщений из 26, страница 1 из 2
28.11.2013, 23:02:44
    #38482632
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
Как организовать свой поиск по сайту(но не гугл), если это web проект и контент находится в jsp файлах??
...
Рейтинг: 0 / 0
28.11.2013, 23:16:43
    #38482653
organism
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
...
Рейтинг: 0 / 0
28.11.2013, 23:33:23
    #38482667
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
organism,

а можете скинуть конкретный пример с применением lucene?
...
Рейтинг: 0 / 0
28.11.2013, 23:50:07
    #38482678
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
Fyn2013, с таким подходом к разработке сайта тебе лучше кому-то заплатить чтоб за тебя всё сделали.
...
Рейтинг: 0 / 0
28.11.2013, 23:53:52
    #38482682
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
причём тут заплатить
...
Рейтинг: 0 / 0
28.11.2013, 23:57:22
    #38482685
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
Hibernate Search
...
Рейтинг: 0 / 0
28.11.2013, 23:58:34
    #38482689
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
...
Рейтинг: 0 / 0
29.11.2013, 01:24:22
    #38482736
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
rdm,

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

http://lucene.apache.org/

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

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

Ты Solr-то скачай, там примеры будут...
...
Рейтинг: 0 / 0
29.11.2013, 23:09:02
    #38484160
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
а если у меня контент в jsp файлах, а не в базе данных, solr разве подойдёт для поиска по контенту на сайт?
и до выхода в жизнь солра, что использовали в java проэктах для поиска?
...
Рейтинг: 0 / 0
30.11.2013, 07:21:30
    #38484254
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
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
30.11.2013, 09:06:27
    #38484271
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
Fyn2013а если у меня контент в jsp файлах, а не в базе данных, solr разве подойдёт для поиска по контенту на сайт?
и до выхода в жизнь солра, что использовали в java проэктах для поиска?

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

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

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

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


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

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

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

P.S.
Вы пытаетесь прикрутить поиск по страницам для своего сайта?
...
Рейтинг: 0 / 0
01.12.2013, 14:21:23
    #38484969
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
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
01.12.2013, 15:09:21
    #38485000
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
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
01.12.2013, 15:44:38
    #38485036
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
да, но если
if (search(argi[i], word)) {
// Найдена фраза в argi[i]'ом разделе

}


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

По тэгу title можно определить заголовок страницы
...
Рейтинг: 0 / 0
01.12.2013, 16:39:23
    #38485074
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
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
01.12.2013, 16:46:21
    #38485078
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
замечательно, спасибо вам!!!)
...
Рейтинг: 0 / 0
01.12.2013, 17:32:44
    #38485115
Fyn2013
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по сайту на java
вот только русские слова не находит
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Поиск по сайту на java / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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