как сделать ИЛИ искать в nutch?

Скажем, искать результаты, поле которых «A» или «B»?

кажется, по умолчанию используется И.


person omg    schedule 01.06.2009    source источник


Ответы (3)


Никогда не работал с Nutch активно, но, поскольку он основан на Lucene, не должны ли применяться правила Lucene? То есть должен применяться синтаксис синтаксического анализатора запросов. . Посмотрите, поможет ли это.

person pugmarx    schedule 01.06.2009
comment
кажется, нет, я пробовал это несколько дней назад, или вы можете попробовать это здесь: file.jobirn .com:8080/ROOT-резюме - person omg; 02.06.2009
comment
наверное ты прав. взгляните на: blog.tcg.com/tcg/2009/03/. вроде есть патч для него. - person pugmarx; 02.06.2009
comment
Спасибо, позвольте мне попробовать. Кстати, вы знакомы с Query.parse(queryString, queryLang, nutchConf)? Знаете ли вы, в каких полях выполняется поиск с помощью этого вызова API? - person omg; 02.06.2009

Недавно я начал работать с nutch. Вам нужно изменить query.java в nutch, чтобы выполнить запрос ИЛИ. Добавьте код в Query.java

public void addShouldTerm (строковый термин, строковое поле) { оговорки.add (новый пункт (новый термин (термин), поле, ложь, ложь, this.conf)); }

public void addShouldTerm (строковый термин) { addShouldTerm (термин, Clause.DEFAULT_FIELD); }

и сформируйте свой запрос как

Запрос запроса = новый запрос (конф); query.addNotRequiredTerm("A"); query.addNotRequiredTerm("B"); вы получите результаты для A или B.

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

person user301473    schedule 25.03.2010

Никогда не использовал nutch для запросов (только для индексации), но schmea.xml должен содержать defaultOperator, который может быть установлен на AND или OR.

person svenkubiak    schedule 11.05.2010