|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Привет всем. Использую сборку sphinx-2.0.3.Firebird.x32 и очень доволен, всё работает как по маслу. Как и через SphinxQL так и через API. На днях решил обновится на 2.2.10.x64, всё вроде работает, но кириллицу искать не хочет (чезез SphinxQL и API). Двухдневные танцы с бубнами не помогли. Пробовал всякие вариации с кодировками, параметрами, перезагрузками, и др. которые помогают в MySQL(как источнике), Пробовал менять стринги колонок с WIN1251 на UTF8 в БД - результаты нулевые. Короче откатился на 2.0.3. :`( Если у кого работает рус.поиск, на этих сборках(FB.2.2.9.x64, FB.2.2.10.x64), может поделитесь секретом что подкрутить? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2016, 22:40 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Конфиг Sphinx-а такой: Код: sql 1. 2. 3. 4. 5. 6. 7.
Полет нормальный. Все ищет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2016, 08:55 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
__Avenger__, А у вас сама база UTF-8 ? Я так полагаю... У меня WIN1251 и по видимому получается что если sql_charset = WIN1251 , то по русски не ищется а если sql_charset = UTF8 то он "кракозябры" загружает, и по ним не индексирует, ну и соответственно по русски тоже нет, т.к. там еже ничего нет русского. Походу дела базу придётся с нуля UTF8 создавать, а иначе ни как (( ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2016, 21:50 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Георгий___Ш__Avenger__, А у вас сама база UTF-8 ? Я так полагаю... У меня WIN1251 и по видимому получается что если sql_charset = WIN1251 , то по русски не ищется а если sql_charset = UTF8 то он "кракозябры" загружает, и по ним не индексирует, ну и соответственно по русски тоже нет, т.к. там еже ничего нет русского. Походу дела базу придётся с нуля UTF8 создавать, а иначе ни как (( База в WIN1251. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 08:52 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
__Avenger__, Странно, по идеи одинаково, но у меня в этом положении кракозябры грузятся.. А FB сервер у вас какой версии и разрядность, и клинская fbclient.dll (при sphinx) какой версии и разрядности? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 10:39 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Георгий___Ш__Avenger__, Странно, по идеи одинаково, но у меня в этом положении кракозябры грузятся.. А FB сервер у вас какой версии и разрядность, и клинская fbclient.dll (при sphinx) какой версии и разрядности? FB 2.5 x64, Sphinx client - x32. А где вы видите кракозябры? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 12:04 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
__Avenger__Георгий___Ш__Avenger__, Странно, по идеи одинаково, но у меня в этом положении кракозябры грузятся.. А FB сервер у вас какой версии и разрядность, и клинская fbclient.dll (при sphinx) какой версии и разрядности? FB 2.5 x64, Sphinx client - x32. А где вы видите кракозябры? В результатах поиска если ввести анг.фразу он найдёт, и если в этом же стринге и кириллица она заменена кракозябрами, т.е он (Sphinx) их уже там хранит так. Побывал "прводить к типу" select ID, zagolovok as title, ... Заменить yf select ID, zagolovok collate UTF8 as title, ... Но уже FB ругается: COLLATION UTF8 for CHARACTER SET WIN1251 is not defined. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 13:48 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Георгий___Ш__Avenger__пропущено... FB 2.5 x64, Sphinx client - x32. А где вы видите кракозябры? В результатах поиска если ввести анг.фразу он найдёт, и если в этом же стринге и кириллица она заменена кракозябрами, т.е он (Sphinx) их уже там хранит так. Побывал "прводить к типу" select ID, zagolovok as title, ... Заменить yf select ID, zagolovok collate UTF8 as title, ... Но уже FB ругается: COLLATION UTF8 for CHARACTER SET WIN1251 is not defined. Sphinx результат в firebird не возвращает. Он возвращает только идентификаторы документов, и аттрибуты, которые прописаны в конфигурации сфинкса. У Вас прописан в сфинксе аттрибут (поле), в котором содержаться русские символы? Как вы эти символы в запрос на firebirde передаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 13:56 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
[quot __Avenger__]Георгий___Шпропущено... Sphinx результат в firebird не возвращает. Он возвращает только идентификаторы документов, и аттрибуты, которые прописаны в конфигурации сфинкса. У Вас прописан в сфинксе аттрибут (поле), в котором содержаться русские символы? Как вы эти символы в запрос на firebirde передаете? Вы меня не правильно поняли, В результатах запроса SphinxQL и SphinxAPI. и там не только ID но и стока тоже. Фактически там "копия" таблицы дежит и я её через SphinxQL селекчу (соответственно при подключении через libmySQL.dll я указываю кодировку Utf8). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 14:16 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
> У Вас прописан в сфинксе аттрибут (поле), в котором содержаться русские символы? Да, Да, естественно я их все прописал.. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 14:19 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
[quot Георгий___Ш]__Avenger__пропущено... Вы меня не правильно поняли, В результатах запроса SphinxQL и SphinxAPI. и там не только ID но и стока тоже. Фактически там "копия" таблицы дежит и я её через SphinxQL селекчу (соответственно при подключении через libmySQL.dll я указываю кодировку Utf8). Понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 14:22 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Попробуй любым mysql манагером на результат посмотреть. У меня все корректно отображает. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 14:23 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
__Avenger__Попробуй любым mysql манагером на результат посмотреть. У меня все корректно отображает. Короче, поставил HeidiSQL (хорошая программа), работает )) Пипец.... мой косяк Мои клиенты не работают )) через DBX - D2007, хотя я им указываю UTF8 Avenger я вам сильно, сильно благодарен. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 14:49 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Георгий___ШМои клиенты не работают )) через DBX - D2007, хотя я им указываю UTF8 гм, какой еще uft8 в D2007? там юникода нет, только спец-компоненты, и прочее, так что не будет это работать без дополнительного кодирования. (и dbx там тоже неюникодный). Для юникода надо D2009 и выше. http://www.ibase.ru/unicode_faq/ в данном случае ты можешь разве что - сделать базу в utf8 - коннект к ней делать с чарсетом win1251 но это будет половинчатое решение Насчет dbx с юникодом - см. соответствующий пункт в faq про разницу в поддержке utf8 в ИБ и ФБ. если dbx прямо для firebird 2.0 - тогда оно будет с юникодом работать (опять же, в дельфи 2009 и выше). Если dbx для ИБ, тогда не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 15:00 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
kdvГеоргий___ШМои клиенты не работают )) через DBX - D2007, хотя я им указываю UTF8 гм, какой еще uft8 в D2007? там юникода нет, только спец-компоненты, и прочее, так что не будет это работать без дополнительного кодирования. (и dbx там тоже неюникодный). Для юникода надо D2009 и выше. http://www.ibase.ru/unicode_faq/ в данном случае ты можешь разве что - сделать базу в utf8 - коннект к ней делать с чарсетом win1251 но это будет половинчатое решение Насчет dbx с юникодом - см. соответствующий пункт в faq про разницу в поддержке utf8 в ИБ и ФБ. если dbx прямо для firebird 2.0 - тогда оно будет с юникодом работать (опять же, в дельфи 2009 и выше). Если dbx для ИБ, тогда не будет. База без разницы в каком чарсете. Коннект из сфинкса в UTF8. SphinxQL возвращает данные в UTF8. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 15:42 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Он через DBХ коннектится к MySQL(SphinxQL), который по умолчанию возвращает данные в UTF8. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 15:44 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
kdvГеоргий___ШМои клиенты не работают )) через DBX - D2007, хотя я им указываю UTF8 гм, какой еще uft8 в D2007? там юникода нет, только спец-компоненты, и прочее, так что не будет это работать без дополнительного кодирования. (и dbx там тоже неюникодный). Для юникода надо D2009 и выше. http://www.ibase.ru/unicode_faq/ в данном случае ты можешь разве что - сделать базу в utf8 - коннект к ней делать с чарсетом win1251 но это будет половинчатое решение Насчет dbx с юникодом - см. соответствующий пункт в faq про разницу в поддержке utf8 в ИБ и ФБ. если dbx прямо для firebird 2.0 - тогда оно будет с юникодом работать (опять же, в дельфи 2009 и выше). Если dbx для ИБ, тогда не будет. Дмитрий, добрый день. >> http://www.ibase.ru/unicode_faq/ Да эту штуку я уже читал. >>в данном случае ты можешь разве что - сделать базу в utf8.. Тут то проблема не с FB и Sphinx for FB, с обращением к FB проблем нет, а Sphinx for FB разницы нет какая у вас BD.fb юникод или одно байтовая анси, всё глотает Проблема обращения к SphinxQL, а там псевдо MySQL-ный протокол, который сейчас стал только юникодовый. И например FireDAC-ком, там не подсоединиться, то ему версия не та, то кавычки не нравятся (которые FireDAC сам доставляет). И поэтому я выбрал DBX - однонабравленый и без всяких рюречек... Ну да придётся эту часть на XE перекомпилировать, или что нибудь найти D2007 чтобы с MySQL utf8 мог связаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 15:45 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Георгий___ШПроблема обращения к SphinxQL, а там псевдо MySQL то есть, вопрос вообще никакого отношения к Firebird не имеет, но почему-то задается в этом разделе :-) в любом случае. даже, если dbx-драйвер для MySQL из Delphi 2007 умеет работать с юникодом (что сомнительно), то Дельфи 2007 умеет работать с юникодом только при помощи дополнительных юникодных компонент и функций. Так что, ситуация тут абсолютно та же самая, что и с ФБ - для нормальной работы с юникодом надо Дельфи 2009 и выше, и комплектный драйвер DBX (если уж он уже используется). Впрочем, я легко нашел, что люди якобы работают и так https://habrahabr.ru/sandbox/16068/ ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 16:04 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
>> Впрочем, я легко нашел, что люди якобы работают и так https://habrahabr.ru/sandbox/16068/ Дмитрий, спасибо, ссылка оказалась полезной для меня ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2016, 06:14 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Firebird.SphinxClient Библиотека позволяет делать запросы к Sphinx из PL/SQL Firebird. Библиотека поставляется в двух вариантах UDF (Firebird 2.5/3.0) и UDR (Firebird 3.0) Настройка UDF Необходимо в каталог UDF сервера Firebird скопировать два файла udf_SphinxClient.dll и udf_SphinxClient.ini Произвести первичную настройку в файле udf_SphinxClient.ini, где указать адрес и порт Sphinx сервера, библиотеку доступа к SphinxQL. Пролить в базу файл udf_SphinxClient.sql Пример использование UDF Код: sql 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.
Настройка UDF Необходимо в каталог UDF сервера Firebird скопировать два файла udr_SphinxClient.dll и udr_SphinxClient.ini Произвести первичную настройку в файле udr_SphinxClient.ini, где указать адрес и порт Sphinx сервера, библиотеку доступа к SphinxQL. Пролить в базу файл udr_SphinxClient.sql Пример использование UDR Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
https://github.com/avengermsoft/Firebird.SphinxClient ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2016, 12:15 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Доброго времени суток. Решил всё таки попробовать Sphinx, что такое, да с чем едят. Скачал sphinx-2.2.11-release-win64-firebird, заменил все файлы в оригинальном дистрибутиве Sphinx sphinx-2.2.11-release-win64 Настроил под БД, работающую на Firebird 2.5.2.26540, всё ок, запросы выполняются, но почему-то не происходит поиск по запросам, содержащим кириллицу. Кодировка полей БД - WIN1251. Запросы пробую производить через Navicat for MySQL (удачно проходят только запросы на поиск цифр), HeidiSQL выдает в результатах символы "�" Что мог сделать не так, куда копать? Конфигурация Sphinx Код: sql 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. 49. 50. 51. 52. 53. 54.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2016, 09:39 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Arsen B.source src1 { sql_charset = UTF8 } Sphinx - целиком и полностью только utf-8. И к sphinxql коннект только utf-8. Проблема в кодировке. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2016, 11:16 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
__Avenger__, Премного благодарен, теперь все ищется. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2016, 12:10 |
|
Firebird и Sphinx
|
|||
---|---|---|---|
#18+
Прошу прощения за некропостинг. Кто нибудь знает, будет ли работать sphinx-2.2.11-release-win64-firebird с Embedded сервером Firebird? У меня не запускается Indexer.exe - вываливается с ошибкой: --------------------------- indexer.exe - Ошибка приложения --------------------------- Ошибка при запуске приложения (0xc000007b). Для выхода из приложения нажмите кнопку "ОК". fbclient.dll - переименованный fbembed.dll версии 2.5.5.26952 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2017, 17:02 |
|
|
start [/forum/topic.php?fid=40&msg=39297713&tid=1561332]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 334ms |
total: | 501ms |
0 / 0 |