2009-09-16 2 views
0

Я использую Lucene с Alfresco. Вот мой запрос:вопрос о вызове lucene

 
(TYPE:"{com.company.customised.content.model}test" && (@\{com.company.customised.content.model\}testNo:111 && (@\{com.company.customised.content.model\}skill:or)) 

Я должен искать документы, которые, имеющие свойство навык значения "or". Вышеприведенный запрос не дает никаких результатов (мне не удается выполнить синтаксический анализ запроса).

Если я использую запрос до тех пор, testNo (игнорируя skill), я получаю правильный результат:

 
(TYPE:"{com.company.customised.content.model}test" && (@\{com.company.customised.content.model\}testNo:111)) 

Можете ли вы мне помочь?

Благодаря

ответ

2

К сожалению, "or" зарезервированное ключевое слово в Lucene. Поэтому Lucene не может правильно интерпретировать ваш запрос, потому что Lucene считает, что вы ссылаетесь на OR boolean operator. Вы можете попробовать обертывание or в двойных кавычках:

 
(TYPE:"{com.company.customised.content.model}test" && (@\{com.company.customised.content.model\}testNo:111 && (@\{com.company.customised.content.model\}skill:"or")) 

Я не знаком с Alfresco, так что вы не можете быть в состоянии сделать это.

0

Да, или зарезервировано ключевое слово в lucene, но если вы пытаетесь запросить свойство, которое имеет номер типа, тогда вы можете указать свое значение непосредственно иначе, если тип d: текст или строка, чтобы вы дали свою ценность в двойной кавычки "".

(ТИП: "{} com.company.customised.content.model тест" & & (@ {} com.company.customised.content.model testNo: 111 & & (@ {com.company.customised. content.model} умение: "или"))

Смежные вопросы