Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Tomcat и Solr
Список форумов
 ->  Веб-серверы и серверы приложений


На страницу Пред.  1, 2 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
Atum : 17
Новичок

СообщениеДек 29, 2011 16:51 
Ответить с цитатой
через
http://localhost:8080/solr/admin/

С одним значение на английском работает - ищет.



Код:
<?xml version="1.0" encoding="UTF-8" ?>
<add>
<doc>
<field name="id">4</field>
<field name="title">new4 solr add3</field>
</doc>
</add>


после загрузки через post.jar

Query String: new

результат :

Код:

<response>
<result name="response" numFound="1" start="0">
<doc>
<str name="id">4</str>
<str name="title">new4 solr add3</str>
</doc>
</result>
<lst name="highlighting">
<lst name="4"/>
</lst>
</response>


а вот с русскими не прокатывает (((
К началу Посмотреть профиль Отправить личное сообщение
solr_expert : 16
Новичок

СообщениеДек 29, 2011 18:09 
Ответить с цитатой
Что пишется в лог при поиске? Интересует содержимое параметра q в логе.
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Atum : 17
Новичок

СообщениеДек 30, 2011 10:14 
Ответить с цитатой
solr_expert писал(а):
Что пишется в лог при поиске? Интересует содержимое параметра q в логе.


второй запрос - ввожу ффф2

Код:
INFO: [] webapp=/solr path=/select/ params={q=qqq2222} hits=0 status=0 QTime=0
INFO: [] webapp=/solr path=/select/ params={q=??????2} hits=0 status=0 QTime=0
К началу Посмотреть профиль Отправить личное сообщение
solr_expert : 16
Новичок

СообщениеДек 30, 2011 10:24 
Ответить с цитатой
Возможно, проблема в сервере-контейнере. Если это томкат, то нужно убедиться, что utf-8 используется повсеместно:
http://wiki.apache.org/tomcat/FAQ/CharacterEncoding
http://pda.javatalks.ru/ftopic179-0-0-asc-.php

Внутри SOLR используется utf-8.
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Zhazhah : 184
Новичок
Откуда: Краснодар

СообщениеДек 30, 2011 11:52 
Ответить с цитатой
У меня tomcat и тоже такая же проблема в apache-tomcat-7.0.14/conf/server.xml

Код:
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8" />

и всё ОК))
К началу Посмотреть профиль Отправить личное сообщение
Atum : 17
Новичок

СообщениеДек 30, 2011 12:30 
Ответить с цитатой
solr_expert писал(а):
Возможно, проблема в сервере-контейнере. Если это томкат, то нужно убедиться, что utf-8 используется повсеместно:
http://wiki.apache.org/tomcat/FAQ/CharacterEncoding
http://pda.javatalks.ru/ftopic179-0-0-asc-.php

Внутри SOLR используется utf-8.


Проблема происходит когда я ввожу русские символы в форму ввода запроса .

что то подобное описано в книге cookbook при работе с символами отличными от английских .
К началу Посмотреть профиль Отправить личное сообщение
Atum : 17
Новичок

СообщениеДек 30, 2011 12:48 
Ответить с цитатой
Zhazhah писал(а):
У меня tomcat и тоже такая же проблема в apache-tomcat-7.0.14/conf/server.xml

Код:
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8" />

и всё ОК))



у меня glassfish для тестов

и resin для сайта где будет solr - как сделать для них ?
К началу Посмотреть профиль Отправить личное сообщение
Atum : 17
Новичок

СообщениеМар 05, 2012 14:00 
Ответить с цитатой
возник такой вопрос :

Задаю поиск по слову Иран , но solr мне находит ИРА

как задать ему правильно параметры поиска? объяснить как правильно искать?

Еще бывает что когда указываешь ему поиск по фрмуле

params.set("qf", "title^2 annotation^1.5 description");

он ничего не находит , хотя искомое слово есть в annotation но не содержится в title
К началу Посмотреть профиль Отправить личное сообщение
solr_expert : 16
Новичок

СообщениеМар 05, 2012 16:47 
Ответить с цитатой
Atum писал(а):
возник такой вопрос :

Задаю поиск по слову Иран , но solr мне находит ИРА

как задать ему правильно параметры поиска? объяснить как правильно искать?



Это зависит от стемминга. Проверить легко через analysis страницу в solr admin , выбрав соответствующее поле в Field. Там можно увидеть как слово индексируется и как ищется.

Atum писал(а):

Еще бывает что когда указываешь ему поиск по фрмуле

params.set("qf", "title^2 annotation^1.5 description");

он ничего не находит , хотя искомое слово есть в annotation но не содержится в title


какое значение в схеме имеет defaultOperator?
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Atum : 17
Новичок

СообщениеМар 05, 2012 17:47 
Ответить с цитатой
solr_expert ! Спасибо за оперативный ответ ! огромное спасибо !

а как то можно изменить defaultOperator через клиента? без изменения в схеме?

ModifiableSolrParams params = new ModifiableSolrParams();
params.set("q", keyword);
params.set("qf", "title^2 annotation^1.5 description");



добавив его параметром?
К началу Посмотреть профиль Отправить личное сообщение
solr_expert : 16
Новичок

СообщениеМар 05, 2012 18:57 
Ответить с цитатой
Atum писал(а):
solr_expert ! Спасибо за оперативный ответ ! огромное спасибо !

а как то можно изменить defaultOperator через клиента? без изменения в схеме?

ModifiableSolrParams params = new ModifiableSolrParams();
params.set("q", keyword);
params.set("qf", "title^2 annotation^1.5 description");



добавив его параметром?


это проще поменять один раз в схеме schema.xml. Этот параметр устанавливает, как работает поиск в целом, поэтому его имеет смысл установить единожды.
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Atum : 17
Новичок

СообщениеМар 06, 2012 13:54 
Ответить с цитатой
Есть пролема при работе с полем типа long (oracle) поле news- данные из него не попадают в index solr!

в Файле news.xml указал конект к базе
Код:

...
    <dataSource type="JdbcDataSource"
      driver="oracle.jdbc.driver.OracleDriver"
      url="jdbc:oracle:thin:user/user@xxx.xx.xx.xx:1521:BD2"
      user="user" password="user"/>

        <entity name="news" query="SELECT ID,TITLE, ANNOTATION, NEWS FROM news where publish_time > sysdate - 30">
           <field column="ID" name="id" />
            <field column="NEWS" name="description"  srtripHTML="true"/>
            <field column="ANNOTATION" name="annotation" />
            <field column="TITLE" name="title" />





в схеме schema.xml указал поля

Код:

<field name="description" type="string" indexed="true" stored="true"/>
<field name="annotation" type="string" indexed="true" stored="true"/>
<field name="title" type="string" indexed="true" stored="true"/>




по URL

http://localhost:8080/solr/admin/dataimport.jsp?handler=/dataimport

делаю full-import title и annotation попадают в индекс и индексируются а после news нет.

При этом если делать индексацию из java кода -и указать что поле news надо доставать первым так как оно имеет особенный тип - данные вытаскиваются корректно и в поле news (description) есть текст.


Вопрос - как сделать так чтобы и при запросе через GUI данные попадали в индекс

(http://localhost:8080/solr/admin/dataimport.jsp?handler=/dataimport )

btn full-import /
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 2 из 2
На страницу Пред.  1, 2
Список форумов
 -> Веб-серверы и серверы приложений


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru