|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
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 |
|
|
|
|
|
|
 |
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 |
|
|
Проблема происходит когда я ввожу русские символы в форму ввода запроса .
что то подобное описано в книге 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 / |
|
|
|
 |
|
|
|