проблема с запросом Lucene - PullRequest
0 голосов
/ 16 сентября 2009

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

( 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 ]

2 голосов
/ 23 сентября 2009

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

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

Я не знаком с Alfresco, поэтому вы не сможете этого сделать.

0 голосов
/ 25 января 2018

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

(TYPE: "{com.company.customised.content.model} test" && (@ {com.company.customised.content.model} testNo: 111 && (@ {com.company.customised.content.model } умение: "или"))

...