|
|
|
поиск в json с использованием fts индекса
|
|||
|---|---|---|---|
|
#18+
Народ, есть таблица с json. По полю json построен полнотекстовый индекс, чтобы можно быстро искать. Не очень понимаю, ни как с помощью contains, ни json_textcontains сделать нужный мне поиск. На ум приходит только json_table, но, во-первых, в каждой версии оракла она работает со своими глюками, во-вторых индексы используются как-то странно, а по плану видно, что используется 3 оператора contains, причём в access 2, а в фильтре 1. поэтому хотелось бы написать одно условие в contains и забыть. Я пытаюсь реализовать поиск так, чтобы можно было задавать через AND набор CLASS_TYPE и значений в них. В указанном ниже простейшем примере надо найти все записи, где class_type = country и его значение 640. В целом в будущем надо будет чтобы в рамках одного поиска можно было задать несколько class_type и для каждого свои условия. Код: 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. Я бы хотел, чтобы в результате моего поиска в запросе была бы только строчка с id = 1, т.е. 640 и country были бы только в 1-м объекте json, а не во всех, как ищет oracle. Подскажите, куда копать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 13:00 |
|
||
|
поиск в json с использованием fts индекса
|
|||
|---|---|---|---|
|
#18+
Вот json исходные красивее Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. и тот, который не должен находиться Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ибо у него 640 в features ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 13:02 |
|
||
|
поиск в json с использованием fts индекса
|
|||
|---|---|---|---|
|
#18+
Shtock, как насчет того, чтобы критерии поиска хранить в отдельных столбцах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 13:25 |
|
||
|
поиск в json с использованием fts индекса
|
|||
|---|---|---|---|
|
#18+
Воля партии поиск по json указанного формата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 13:33 |
|
||
|
поиск в json с использованием fts индекса
|
|||
|---|---|---|---|
|
#18+
ShtockВоля партии поиск по json указанного форматаЭта воля должна получать всё взад, к чему она бездумно вела. Или же если к этому её настрополили поддувалы, то отвечать им, а не плакаться по форумам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 21:02 |
|
||
|
поиск в json с использованием fts индекса
|
|||
|---|---|---|---|
|
#18+
ShtockНарод, есть таблица с json. ... чтобы можно быстро искать. Подскажите, куда копать.Покопайте в сторону Database In-Memory Option в Oracle 12.2. http://docs.oracle.com/database/122/INMEM/optimizing-in-memory-expressions.htm#INMEM-GUID-1B849DAF-277E-4B09-8275-367592115B06 Static Expressions: Binary JSON Columns The IM expressions infrastructure supports both dynamic expressions (IM expressions and virtual columns) and static expressions. Starting in Oracle Database 12c Release 2 (12.2), the IM column store supports a binary JSON format that performs better than row-oriented JSON text storage. The database uses the IM expression infrastructure to load an efficient binary representation of JSON text columns as virtual columns. Queries access the actual JSON data, but use optimized virtual columns to speed access. Oracle Database supports multiple JSON functions: JSON_TABLE, JSON_VALUE, and JSON_EXISTS. The INMEMORY_EXPRESSIONS_USAGE initialization parameter controls the behavior of both dynamic expressions and static expressions. See Also: Oracle Database JSON Developer's Guide to learn more about using JSON with Database In-Memory Oracle Database Reference to learn about INMEMORY_EXPRESSIONS_USAGE and ALL_JSON_COLUMNS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 04:17 |
|
||
|
поиск в json с использованием fts индекса
|
|||
|---|---|---|---|
|
#18+
>>SQL*Plus Про ин-мемори улыбнуло :) Опция стоит море, да и ещё на 12.2, который раньше чем года через 2 в продакшн пускать не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 11:21 |
|
||
|
поиск в json с использованием fts индекса
|
|||
|---|---|---|---|
|
#18+
Shtock>>SQL*Plus Про ин-мемори улыбнуло :) Опция стоит море, да и ещё на 12.2, который раньше чем года через 2 в продакшн пускать не стоит.Чем меньше денег, тем больше мороки. У нищих свои измерения и причуды, у богатых - свои. Такова диалектика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 00:36 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39461516&tid=1885834]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
194ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 537ms |

| 0 / 0 |
