|
|
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Пробовал сделать полнотекстовый поиск при помощи Oracle Text. Все сделал как в http://oraclestart.blogspot.in/2013/08/oracle-text.html создание индекса прошло без ошибок. Запрос select * from docs where contains(text, 'саша') > 0; возвращает нужную строку, а вот select * from docs where contains(text, '$идти') > 0; ничего не возвращает. Если просмотреть служебную таблицу DR$DOCS_IDX$I, то в TOKEN_TEXT есть значение "ИДТИ" В чем может быть причина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 09:29 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
orcl_1989, размер БОЛЬШИЕ - маленькие символы могут быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 09:41 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
в DR$DOCS_IDX$I все в верхнем регистре, поиск не работает для нижнего и не работает для верхнего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 09:52 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
orcl_1989, Может я не очень много работал с contains, но почему/зачем Вы вставили $ Код: plsql 1. т.е. по умолчанию Oracle работает только с английским и французским текстом (как я помню), а русские интерпритации надо добавлять доп словарем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 11:21 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 11:40 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
все делал по примеру. как говорил ранее ни на одном этапе ошибок не было, но поиск не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 11:41 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
А версия Ораклы какая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 11:56 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
oracle 12.2.01 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 11:59 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 12:13 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
Поиск нужен по словоформе, а здесь про соответствие собственных имен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 12:42 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
orcl_1989, Может Вы что то недопоняли, может я https://docs.oracle.com/database/121/CCREF/amultlng.htm#CCREF1350 D.2.3.5 Index stems This feature enables you to specify a stemmer for stem indexing. Tokens are stemmed to a single base form at index time in addition to the normal forms. Specifying index stems enables better query performance for stem queries, for example $computed. This feature is supported for English, Dutch, French, German, Italian, and Spanish. Но даже в этом случае слово "идти" может быть написано в тексте как "шел" "идти" "ходил" ... В начале предложения с первой большой буквы. Если слово ВСЕ большими буквами, я думаю, его воспримут как имя собственное и в поиске оно участвовать не будет. Но это мои догадки. Можно еще почитать про About ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 12:57 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
MaximaXXL....а русские интерпритации надо добавлять доп словарем Да. Без русского словаря не получится. Тоже пробовал. Словари для Риссии есть готовые, но платные. вопрос2 размер БОЛЬШИЕ - маленькие символы могут быть? Регистр и пробелы значения не имеют. Ещё важно, что только цифры он исключает из поиска. Примерчик: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Код: plsql 1. 2. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 19:26 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
Vladimir Filin, и ещё недокументированная Ж#А: Oracle Text index нужно дропать первым и ЯВНО! Cascade для них не поддерживается -- имя индека зависает в словаре. Если завис, нужно опять создать родительскую таблицу, дропнуть индекс, дропнуть таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 19:32 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
Если есть возможность отказаться от oracle text делай это побыстрее. Более глючный у оракла только json. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 21:23 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
Vladimir Filin Да. Без русского словаря не получится. Тоже пробовал. Словари для Риссии есть готовые, но платные. Как уже говорил все создается без проблем и Если просмотреть служебную таблицу DR$DOCS_IDX$I, то в TOKEN_TEXT есть значение "ИДТИ" т.е. проблема не в словарях, а в использовании оператора стемминга $, как я понимаю он не отрабатывает, но если select * from docs where contains(text, '$шла') > 0; - то возвращает нужную строку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 11:02 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 12:10 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
orcl_1989, Проверил Пример . Интересно. Считал, что словоформы это отдельный словарь, подгружаемый для русского языка. В 11R2 получил DRG-11135 : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. В 12.1 Non-CDB всё работает, как в примере : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. В 12.1 PDB тоже всё работает: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 16:21 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
Vladimir Filin какая кодировка базы? у меня в 12.2.0.1 select * from docs where contains(text, '$идти') > 0; ничего не возвращает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 16:36 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
orcl_1989 какая кодировка базы? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Уточнение про 11R2: это у меня на 11.2.0.4.0 не построился индекс. Проверил на 11.2.0.2.0 -- всё строится и работает Кодировки такие же, как в 12.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:24 |
|
||
|
Полнотекстовый поиск при помощи Oracle Text, почему не ищет?
|
|||
|---|---|---|---|
|
#18+
Все таки дело в кодировке. Поставил 12.2.0.1 с параметрами: авторSELECT * FROM nls_database_parameters; NLS_RDBMS_VERSION 12.2.0.1.0 NLS_NCHAR_CONV_EXCP FALSE NLS_LENGTH_SEMANTICS BYTE NLS_COMP BINARY NLS_DUAL_CURRENCY $ NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_SORT BINARY NLS_DATE_LANGUAGE AMERICAN NLS_DATE_FORMAT DD-MON-RR NLS_CALENDAR GREGORIAN NLS_NUMERIC_CHARACTERS ., NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_CHARACTERSET AL32UTF8 NLS_ISO_CURRENCY AMERICA NLS_CURRENCY $ NLS_TERRITORY AMERICA NLS_LANGUAGE AMERICAN и все заработало. Всем спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2017, 15:38 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39523836&tid=1885221]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 514ms |

| 0 / 0 |
