Интеграция Java Lucene с .Net - PullRequest
       39

Интеграция Java Lucene с .Net

3 голосов
/ 15 октября 2008

У меня есть настройка Nutch и Lucene для сканирования и индексации некоторых сайтов, и я хотел бы использовать веб-сайт .net вместо JSP-сайта, который поставляется с Nutch.

Кто-нибудь может порекомендовать некоторые решения?

Я видел решения, когда на сервере индексирования работало приложение, к которому сайт .Net использовал удаленное взаимодействие для подключения.

Очевидно, что скорость - это соображение, может ли оно все еще работать хорошо?

Редактировать: Может ли NHibernate.Search работать для этого?

Редактировать: В итоге мы использовали серверы индекса Solr, используемые нашим сайтом ASP.net, с библиотекой solrnet .

Ответы [ 6 ]

5 голосов
/ 27 октября 2008

В случае, если из других ответов было не совсем ясно, Lucene.NET и Lucene (Java) используют один и тот же формат индекса, поэтому вы сможете продолжать использовать существующие механизмы (на основе Java) для индексировать , а затем использовать Lucene.NET внутри веб-приложения .NET для запроса индекса.

С сайта инкубатора Lucene.NET :

В дополнение к API и классам порт на C #, алгоритм Java Lucene портирован на C # Lucene. это означает индекс, созданный с помощью Java Lucene совместим с туда-сюда с C # Lucene; как при чтении, написание и обновление. На самом деле Lucene Индекс можно искать одновременно и обновляется с помощью Java Lucene и C # Люценовые процессы

3 голосов
/ 15 октября 2008

Вместо использования Lucene вы можете использовать Solr для индексации с помощью Nutch (см. здесь ), затем вы можете очень легко подключиться к Solr, используя одну из двух доступных библиотек: SolrSharp и SolrNet .

1 голос
/ 12 мая 2012

Получил здесь, ища сравнение между SolrNet и SolrSharp, просто подумал, что оставлю здесь свои впечатления.

Похоже, что SolarSharp - мертвый проект (долгое время не обновлялся), поэтому единственным вариантом является SolarNet.

Надеюсь, это кому-нибудь поможет, я бы оставил комментарий к принятому ответу, но мне пока не хватает репутации:)

1 голос
/ 24 февраля 2009

Я тоже работаю над этим.

http://today.java.net/pub/a/today/2006/02/16/introduction-to-nutch-2.html

Похоже, вы можете отправить свой запрос Nutch и получить результаты rss.

редактирование:

Получил эту работу сегодня в форме окон в качестве доказательства концепции. Два текстовых поля (searchurl и query), одно для URL сервера и одно для запроса. Одно представление данных.

private void Form1_Load(object sender, EventArgs e)
        {
            searchurl.Text = "http://localhost:8080/opensearch?query=";


    }

    private void search_Click(object sender, EventArgs e)
    {
        string uri;

        uri = searchurl.Text.ToString() + query.Text.ToString();
        Console.WriteLine(uri);

        XmlDocument myXMLDocument = new XmlDocument();

        myXMLDocument.Load(uri);

        DataSet ds = new DataSet();

        ds.ReadXml(new XmlNodeReader(myXMLDocument));

        SearchResultsGridView1.DataSource = ds;
        SearchResultsGridView1.DataMember = "item";

    }
0 голосов
/ 18 мая 2009

Почему бы не перейти с java lucene на версию dot net. Конечно, это инвестиции, но в основном это упражнение на замену класса. Последнее, что вам нужно, это больше слоев, которые не добавляют никакой ценности, кроме просто склеивания. Меньше клея и больше материала - вот к чему нужно стремиться ...

0 голосов
/ 15 октября 2008

Вместо использования Solr я написал индексатор на основе Java, который выполняется в задании cron, и веб-сервис на основе Java для запросов. На самом деле я не индексировал страницы так много, как разные типы данных, которые использует сайт .net для создания страниц. Таким образом, на самом деле существует 4 разных индекса, каждый из которых имеет разную структуру документа, и все они могут быть запрошены примерно одинаково (скажем, пользователи, сообщения, сообщения, фотографии).

Определив XSD для ответов веб-службы, я смог сгенерировать классы в .net и java для хранения представления документов. Веб-сервис в основном выполняет запрос по правильному индексу и заполняет XML-ответ от хитов. Клиент .net анализирует это обратно в объекты. Также есть интерфейс json для любого клиентского JavaScript.

...