Уведомления

Группа в Telegram: @pythonsu

#1 Март 19, 2011 18:28:17

alexandre
От:
Зарегистрирован: 2010-11-16
Сообщения: 104
Репутация: +  0  -
Профиль   Отправить e-mail  

puthon lucene couchdb

Попробовал организовать поиск вообщем не совсем вышло:
Поставил CouchDB-Lucene вроде запустилось

user@user-laptop:~/couchdb-lucene/target/couchdb-lucene/bin$ ./run
2011-03-19 18:19:25,950 INFO [Main] Index output goes to: /home/user/couchdb-lucene/target/couchdb-lucene-0.7-SNAPSHOT/indexes
......
19.03.2011 18:19:26 org.mortbay.log.Slf4jLog info
INFO: Started SelectChannelConnector@localhost:5985
Есть ряд документов по которым собирался поискать примерно такого типа:
{
"_id": "4",
"_rev": "89-6690c00e7a6ad9e8fd91ed36868b56c0",
"doc_type": "des:1",
"table": [ { } ],
"head_field": {
"descr": "", "author": "Пушкин", "price": "555",
"title": "Руслан и Людмила", "genre": "Поэма", "home": "true"
},
"type": "table_row"
}
Мап для поиска написал такой:
rpt_view = ViewDefinition('lucene', 'substr', '''
function(doc) {
if(doc.type==table_row){
var rec=new Document();
rec.add(doc.head_field);
return rec;
}
}
''')
rpt_view.sync(db)
Ну и собственно вывод:
for res in db.view("_design/lucene/_view/substr"):
print res.doc, res.key, res.value
А в итоге пусто ничего не выводит. Перепробовал разные варианты с мапом ничего не помогает может я что-то не до установил или все таки мап кривоватый даже не знаю.



Отредактировано (Март 19, 2011 18:31:15)

Офлайн

#2 Март 19, 2011 19:04:40

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

puthon lucene couchdb

Так, начнем с начала – вы документацию читали? Всё сделали как там написано?



Офлайн

#3 Март 19, 2011 20:01:11

alexandre
От:
Зарегистрирован: 2010-11-16
Сообщения: 104
Репутация: +  0  -
Профиль   Отправить e-mail  

puthon lucene couchdb

Да



Офлайн

#4 Март 19, 2011 20:05:11

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

puthon lucene couchdb

Тогда почему вы не создаете дизайн-документы с ключом fulltext? Почему вы делаете зарос к обычным вьюхам?



Офлайн

#5 Март 19, 2011 21:39:24

alexandre
От:
Зарегистрирован: 2010-11-16
Сообщения: 104
Репутация: +  0  -
Профиль   Отправить e-mail  

puthon lucene couchdb

"fulltext": {
"by_subject": {
"index": "function(doc) {
if(doc.type==table_row){
var rec=new Document();
rec.add(doc.head_field);
return rec;
}
}"
}
}
for res in db.view("_design/lucene/fulltext/by_subject"):
print res.doc, res.key, res.value
В таком варианте ошибку выдает:
couchdb.http.ResourceNotFound: ('not_found', 'Document is missing attachment')



Офлайн

#6 Март 19, 2011 23:14:46

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

puthon lucene couchdb

В общем читайте доку до полного просветления.



Офлайн

#7 Март 20, 2011 17:03:13

alexandre
От:
Зарегистрирован: 2010-11-16
Сообщения: 104
Репутация: +  0  -
Профиль   Отправить e-mail  

puthon lucene couchdb

Попробовал сделать просто через адресную строку:

http://127.0.0.1:5984/lucene/_fti/_design/lucene/by_subject?q=aaa
{"limit":25,"etag":"5dec79d3d689","fetch_duration":0,"q":"default:aaa","search_duration":0,"total_rows":0,"skip":0,"rows":[]}
Впринцепе я так понял работает. Но так и не нашёл ничего по поводу драйвера питона для couchDB. У меня вопрос можно ли как то воспользоваться драйвером couchdb-python если да то что написать:
for res in db.view("_fti/_design/lucene/by_subject?q=aaat"):
print res
Или прийдется пользоваться urllib и прочими библиотеками?



Отредактировано (Март 20, 2011 17:03:56)

Офлайн

#8 Март 21, 2011 00:38:59

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

puthon lucene couchdb

alexandre
Или прийдется пользоваться urllib и прочими библиотеками?
Мы делаем это почти напрямую через couchdb.Resource.



Офлайн

#9 Март 21, 2011 01:14:19

alexandre
От:
Зарегистрирован: 2010-11-16
Сообщения: 104
Репутация: +  0  -
Профиль   Отправить e-mail  

puthon lucene couchdb

Это как я понял библиотека couchdbkit ?



Офлайн

#10 Март 21, 2011 01:21:51

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

puthon lucene couchdb

alexandre
Это как я понял библиотека couchdbkit ?
Не-не. Это couchdb-python как раз – http://code.google.com/p/couchdb-python/source/browse/couchdb/http.py#353.

Используется примерно вот так:
resource = db.resource('_fti', '_design', 'lucene')
_, __, results = resource.get('by_subject', q='aaat')



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version