Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование Lucene.NET 
V
    Опции темы
Kosya4ok
Дата 11.11.2008, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 23.7.2007

Репутация: нет
Всего: нет



Добрый день. Пытаюсь освоить работу с Lucene.NET с NHibernate.NET.
Код

using NHibernate.Search.Attributes;
using NHibernate.Search;

namespace Example1
{
    [Indexed]
    public class TempBook 
    {
        private int id;
        private string author;
        private string name;
        private string summary;

        [DocumentId]
        public virtual int Id 
        {
            get { return id; }
            set { id = value; }
        }

        [Field(Index.Tokenized, Store = Store.Yes)]
        public virtual string Author 
        {
            get { return author; }
            set { author = value; }
        }

        [Field(Index.Tokenized, Store = Store.Yes)]
        public virtual string Name
        {
            get { return name; }
            set { name = value; }
        }

        [Field(Index.Tokenized, Store = Store.Yes)]
        public virtual string Summary 
        {
            get { return summary; }
            set { summary = value; }
        }
    }
}

Код

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Example1" namespace="Example1">

  <class name="TempBook">
    <id name="Id" column="TempBookID" type="Int32" >
      <generator class="assigned"/>
    </id>
    <property name="Author" column="Author" type="String" />
    <property name="Name" column="Name" type="String" />
    <property name="Summary" column="Summary" type="String" />
  </class>

</hibernate-mapping>

Код

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >
  <session-factory name="Example1">
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
    <property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=test;Integrated Security=True</property>
    <property name="show_sql">true</property>
    <mapping assembly="Example1"/>
  </session-factory>
</hibernate-configuration>

Код

using System;
using System.Collections.Generic;
using System.Text;
using NHibernate.Cfg;
using NHibernate;
using NHibernate.Search.Engine;
using NHibernate.Search.Storage; //RAMDirectoryProvider

using Lucene.Net;
using Lucene.Net.Analysis; //StopAnalyzer
using NHibernate.Search; //IFullTextSession
using NHibernate.Search.Impl; //SearchInterceptor
using Lucene.Net.QueryParsers;
using System.Collections;
using Lucene.Net.Search; //QueryParser 

namespace Example1
{
    class Program
    {
        private static Configuration cfg;
        private static ISessionFactory sf;

        static void Main(string[] args)
        {
            Configure();
            LuceneQueries();

        }        

        private static void LuceneQueries()
        {

            using (IFullTextSession s = Search.CreateFullTextSession(sf.OpenSession(new SearchInterceptor())))
            {
                QueryParser qp = new QueryParser("Id", new StopAnalyzer());

                IQuery NHQuery = s.CreateFullTextQuery(qp.Parse("Author: Doe"), typeof(TempBook));

                IList<TempBook> books = NHQuery.List<TempBook>();
            }
        }

        private static void Configure()
        {
            cfg = new Configuration();
            cfg.SetProperty("hibernate.search.default.directory_provider", typeof(RAMDirectoryProvider).AssemblyQualifiedName);
            cfg.SetProperty(NHibernate.Search.Environment.AnalyzerClass, typeof(StopAnalyzer).AssemblyQualifiedName);
            cfg.Configure();
            sf = cfg.BuildSessionFactory();
            SearchFactory.Initialize(cfg, sf);
        }
    }
}

Ну и небольшой скрипт для вставки данных в базу...
Код

INSERT INTO TempBook (TempBookID, Author, Name, Summary) VALUES ( 1, 'Eric Evans',  'Domain-Driven Design: Tackling Complexity in the Heart of Software', 'This book provides a broad framework for making design decisions and a technical vocabulary for discussing domain design. It is a synthesis of widely accepted best practices along with the authors own insights and experiences')
INSERT INTO TempBook (TempBookID, Author, Name, Summary) VALUES ( 2, 'John Doe',  'Foo book NHibernate', 'Foo series book')

И какие танцы с бубном не делай всегда возвращается нуль записей!!!
Есть какие нибудь идеи?
PM MAIL   Вверх
Kosya4ok
Дата 11.11.2008, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 23.7.2007

Репутация: нет
Всего: нет



Если я немного не в том разделе вопрос задал. Так может меня модераторы поправят...?
PM MAIL   Вверх
Kosya4ok
Дата 25.11.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 23.7.2007

Репутация: нет
Всего: нет



Ну я в принципе разобрался в чем была проблема, так что если кому то будет интересно то отпишу..
PM MAIL   Вверх
Wizard_Memfis
Дата 15.4.2009, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 12.2.2007
Где: г. Донецк, Украин а

Репутация: нет
Всего: 4



Теперь и я столкнулся с этой проблемой smile 
Очень интересно услышать решение и вообще впечатления от работы с Lucene?
Пока просто парсим хтмл. smile 
--------------------
www.binary-studio.com
PM MAIL WWW ICQ Skype   Вверх
Kosya4ok
Дата 15.4.2009, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 23.7.2007

Репутация: нет
Всего: нет



Там оказалось какая то мелочь!Буду на работе обязательно отпишу рабочий код!Главное не забыть на форум заглянуть!  smile 

PM MAIL   Вверх
win32nipuh
Дата 27.8.2010, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 20.8.2010

Репутация: нет
Всего: нет



Цитата(Kosya4ok @ 15.4.2009,  17:15)
Там оказалось какая то мелочь!Буду на работе обязательно отпишу рабочий код!Главное не забыть на форум заглянуть!  smile

то ли на работы так и не был, то ли забыл заглянуть на форум  smile  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ASP | Следующая тема »


 




[ Время генерации скрипта: 0.0636 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.